


Python. Модуль tkinter. Добавить окно, рассчитывающее периметр и площадь треугольника и квадрата
Помогите, пожалуйста, с доработкой программы. Необходимо создать пятое окно, в котором должны находиться 2 Radiobutton элемента, в одном из которых можно выбрать треугольник, в другом квадрат. Потом появляются рядом элементы Checkbutton, с помощью которых можно посчитать площадь и периметр треугольника или квадрата (в зависимости от того, какая фигура была выбрана). При выборе вывода площади на экран должна выводится площадь, при выборе периметра - периметр. Пользователем должны вводится необходимые размеры фигур для вычисления.
Весь мой код не влез, поэтому дополнительно скинула остаток кода.
from tkinter import *
from tkinter import ttk
from tkinter.ttk import Combobox
from tkinter.ttk import Checkbutton
from tkinter.ttk import Radiobutton
lst = []
def simple_numbers (n):#функция нахождения простых чисел
for i in range(1, n+1):
for j in range(2, i):
if i % j == 0:
break
else:
lst.append(i)
x = [0]
def clicked ():#функция счетчика кликов
y = [1]
x[0] += 1
y[0] += 1
z = x[0]
btn_1.configure(text=f'номер клика: {x[0]}\nпростое число: {lst[z - 1]}')
good = '123'
def code():#проверка правильности пароля
if password.get() == good:
txt_2.delete(1.0, END)
txt_2.insert(INSERT, 'Тупить!')
else:
txt_2.delete(1.0, END)
txt_2.insert(INSERT, 'Это неправильный пароль')
password.delete(first=0, last=len(password.get()))
def chkButton():#функция проверки нажатых букв в 3 окне
str = ''
if (chk_state.get()):
str += 'А'
if (chk_state_1.get()):
str += 'Б'
if (chk_state_2.get()):
str += 'В'
if (chk_state_3.get()):
str += 'Г'
if (chk_state_4.get()):
str += 'Д'
lbl_txt.configure(text=str)
def chk_RadioButton():
lbl.configure(text=selected.get())
window = Tk()
window.title("Hello world")
window.geometry('600x600')
tab_control = ttk.Notebook(window)
tab1 = ttk.Frame(tab_control)
tab2 = ttk.Frame(tab_control)
tab3 = ttk.Frame(tab_control)
tab4 = ttk.Frame(tab_control)
tab_control.add(tab1, text='Первое окно')
tab_control.add(tab2, text='Второе окно')
tab_control.add(tab3, text='Третье окно')
tab_control.add(tab4, text='Четвертое окно')
#первое окно
simple_numbers(1000)
btn_1 = Button(tab1, text='0', command=clicked, width='20', height='5')
btn_1.grid(column=0, row=0)
#второе окно
lbl_1 = Label(tab2, text="Введите текст")
lbl_1.grid(column=0, row=0)
txt_1 = Text(tab2, width=30, height=6)
txt_1.insert(INSERT, f'Что все люди умеют делать\nневероятно хорошо?')
txt_1.grid(column=1, row=0)
lbl_2 = Label(tab2, text="Введите пароль")
lbl_2.grid(column=0, row=1)
password = Entry(tab2, width=40)
password.grid(column=1, row=1)
password.focus()
btn_2 = Button(tab2, text="Клик!", command=code, width=34)
btn_2.grid(column=1, row=2)
txt_2 = Text(tab2, width=30, height=1)
txt_2.grid(column=1, row=3)
#третье окно
chk_state = BooleanVar()
chk_state_1 = BooleanVar()
chk_state_2 = BooleanVar()
chk_state_3 = BooleanVar()
chk_state_4 = BooleanVar()
chk = Checkbutton(tab3, text='А', var=chk_state)
chk.grid(column=0, row=0, sticky=W)
chk_1 = Checkbutton(tab3, text='Б', var=chk_state_1)
chk_1.grid(column=0, row=1, sticky=W)
chk_2 = Checkbutton(tab3, text='В', var=chk_state_2)
chk_2.grid(column=0, row=2, sticky=W)
chk_3 = Checkbutton(tab3, text='Г', var=chk_state_3)
chk_3.grid(column=0, row=3, sticky=W)
chk_4 = Checkbutton(tab3, text='Д', var=chk_state_4)
chk_4.grid(column=0, row=4, sticky=W)
lbl = Label(tab3, text='Слово, состоящие из выбранных букв:')
lbl.grid(column=0, row=5, sticky=W, columnspan=2)
lbl_txt = Label(tab3, text=' ')
lbl_txt.grid(column=2, row= 5, sticky=W)
btn_2 = Button(tab3, text="Клик!", command=chkButton)
btn_2.grid(column=0, row=6, sticky=W)
tab_control.pack(expand=1, fill="both")
#Четвертое окно
selected = StringVar()
list = [[1,2,3],[4,5,6],[7,8,9]]
tuple = ('Privet', 9, 3.14)
set = {1,2,3,4,'abcd'}
dict = {'key1': 'z1', 'key2': 'z2'}
rad1 = Radiobutton(tab4, text='Список(list)', value=list, variable=selected)
rad1.grid(column=0, row=0, sticky=W)
rad2 = Radiobutton(tab4, text='Кортеж(tuple)', value=tuple, variable=selected)
rad2.grid(column=0, row=1, sticky=W)
rad3 = Radiobutton(tab4, text='Множество(set)', value=set, variable=selected)
rad3.grid(column=0, row=2, sticky=W)
rad4 = Radiobutton(tab4, text='Словарь(dict)', value=dict, variable=selected)
rad4.grid(column=0, row=3, sticky=W)
btn = Button(tab4, text="Клик", command=chk_RadioButton)
btn.grid(column=0, row=4, sticky=W)
lbl_txt_1 = Label(tab4, text="Пример: ")
lbl.grid(column=1, row=4, sticky=W)
lbl = Label(tab4)
lbl.grid(column=2, row=4, sticky=W)
window.mainloop()
так место тут уже нет чтобы его опубликовать
Рабочий код можно скачать тут
https:// inlnk.ru/goVQ3j