ДАЮ 55 БАллов!!!
Доробити трикутник Серпінського
•Для кнопки «Побудувати» задай запуск функції draw().
•Запусти програму і зміни значення у текстовому полі (вводь значення не більше 9, бо на екрані більша кількість кроків непомітна).
•Додай пункт головного меню «Побудувати», закріпи виконання функції побудови трикутника draw.
Відповісти на запитання
•Яке призначення в програмі має клас Frame ?
•Яке призначення класу Entry(...) ?
•Яке призначення класу Button(...) ?
•Які параметри має метод pack(...) ?
from tkinter import *
root = Tk()
root.title('Трикутник Серпінського')

m = Menu(root)
m.add_command(label='Інфо')
m.add_command(label='Вихід', command=root.quit)
root.config(menu=m)


def draw(event):
c.delete('all')
n = int(entry_step.get())
x1 = 0
y1 = 500
x2 = 500
y2 = 500
x3 = 250
y3 = 0
rec(x1, y1, x2, y2, x3, y3, n)

def rec(x1, y1, x2, y2, x3, y3, n):
if n > 0:
c.create_line(x1, y1, x2, y2, width=1)
c.create_line(x1, y1, x3, y3, width=1)
c.create_line(x3, y3, x2, y2, width=1)
x1n = (x1 + x2) // 2
y1n = (y1 + y2) // 2
x2n = (x3 + x2) // 2
y2n = (y3 + y2) // 2
x3n = (x3 + x1) // 2
y3n = (y3 + y1) // 2
rec(x1, y1, x1n, y1n, x3n, y3n, n - 1)
rec(x2, y2, x1n, y1n, x2n, y2n, n - 1)
rec(x3, y3, x2n, y2n, x3n, y3n, n - 1)

f1 = Frame(root)
step = Label(f1, text='Кількість кроків')
entry_step = Entry(f1)
entry_step.insert(0, "1")
butt = Button(f1, text='Побудувати')


f1.pack(side=LEFT, fill=BOTH)
step.pack()
entry_step.pack()
butt.pack()

f2 = Frame(root, width=500, relief=SUNKEN, borderwidth=2)
c = Canvas(f2, width=500, height=500, bg='lightblue', cursor='exchange')

c.pack()
f2.pack(side=LEFT, fill=BOTH)

root.mainloop()
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Answers & Comments


Copyright © 2024 SCHOLAR.TIPS - All rights reserved.