1. Розробіть програму, за допомогою якої на полотні розміщуються прямокутник, еліпс і дві кнопки. Після натискання першої кнопки переміщується прямокутник, а після натискання другої - обидві фігури. 2. Розробіть програму, за допомогою якої на полотні створюється піраміда, основою якої є квадрат.
Поможіть
Ответы
Ответ дал:
1
1.Програма для переміщення фігур на полотні з двома кнопками
В даній програмі ми використовуємо модуль tkinter для створення графічного інтерфейсу користувача. Ми створюємо вікно за допомогою класу Tk та надаємо йому заголовок. Далі ми створюємо полотно, на якому ми будемо розміщувати фігури. Після цього ми створюємо прямокутник та еліпс за допомогою методів create_rectangle та create_oval відповідно.
Наступним кроком є створення двох кнопок. Перша кнопка переміщує прямокутник, а друга переміщує обидві фігури. Для цього ми створюємо функцію move_rectangle, яка змінює координати прямокутника на випадкові значення в межах полотна. Функція move_both викликає функцію move_rectangle та переміщує також еліпс.
from tkinter import *
import random
class App:
def __init__(self, master):
self.master = master
master.title("Переміщення фігур")
self.canvas = Canvas(master, width=400, height=400)
self.canvas.pack()
self.rectangle = self.canvas.create_rectangle(50, 50, 150, 100, fill="blue")
self.oval = self.canvas.create_oval(200, 200, 300, 250, fill="red")
self.button1 = Button(master, text="Перемістити прямокутник", command=self.move_rectangle)
self.button1.pack()
self.button2 = Button(master, text="Перемістити обидві фігури", command=self.move_both)
self.button2.pack()
def move_rectangle(self):
x1, y1, x2, y2 = self.canvas.coords(self.rectangle)
dx = random.randint(-20, 20)
dy = random.randint(-20, 20)
self.canvas.coords(self.rectangle, x1+dx, y1+dy, x2+dx, y2+dy)
def move_both(self):
self.move_rectangle()
x1, y1, x2, y2 = self.canvas.coords(self.oval)
dx = random.randint(-20, 20)
dy = random.randint(-20, 20)
self.canvas.coords(self.oval, x1+dx, y1+dy, x2+dx, y2+dy)
root = Tk()
app = App(root)
root.mainloop()
2. Для створення піраміди з квадратною основою на полотні можна використати модуль turtle у Python. Ми створимо функцію draw_pyramid, яка приймає три аргументи: base_size, height, та color. base_size вказує на довжину сторони квадрата, height вказує на висоту піраміди, а color вказує на колір ліній, якими будуть малюватися фігури.
У функції draw_pyramid ми спочатку створюємо об'єкт turtle, встановлюємо його швидкість та вказуємо колір ліній. Далі ми малюємо квадратну основу піраміди та пересуваємо курсор вверх на висоту height. Потім ми починаємо малювати трикутники, використовуючи метод goto для пересування курсора до відповідних точок. У кінці ми приховуємо курсор за допомогою методу hideturtle.
import turtle
def draw_pyramid(base_size, height, color):
t = turtle.Turtle()
t.speed(0)
t.pencolor(color)
# Draw base square
for i in range(4):
t.forward(base_size)
t.left(90)
# Move up to height
t.penup()
t.goto(0, height)
t.pendown()
# Draw triangles
for i in range(base_size, 0, -2):
t.forward(i)
t.right(90)
t.forward(1)
t.right(90)
t.forward(i-2)
t.right(180)
t.hideturtle()
# Example usage
draw_pyramid(100, 200, "blue")
Приклад використання показує, як створити піраміду з квадратною основою розміром 100 на 100 та висотою 200, використовуючи колір ліній "blue". Результатом буде малюнок піраміди, який можна знайти у вікні Turtle.
В даній програмі ми використовуємо модуль tkinter для створення графічного інтерфейсу користувача. Ми створюємо вікно за допомогою класу Tk та надаємо йому заголовок. Далі ми створюємо полотно, на якому ми будемо розміщувати фігури. Після цього ми створюємо прямокутник та еліпс за допомогою методів create_rectangle та create_oval відповідно.
Наступним кроком є створення двох кнопок. Перша кнопка переміщує прямокутник, а друга переміщує обидві фігури. Для цього ми створюємо функцію move_rectangle, яка змінює координати прямокутника на випадкові значення в межах полотна. Функція move_both викликає функцію move_rectangle та переміщує також еліпс.
from tkinter import *
import random
class App:
def __init__(self, master):
self.master = master
master.title("Переміщення фігур")
self.canvas = Canvas(master, width=400, height=400)
self.canvas.pack()
self.rectangle = self.canvas.create_rectangle(50, 50, 150, 100, fill="blue")
self.oval = self.canvas.create_oval(200, 200, 300, 250, fill="red")
self.button1 = Button(master, text="Перемістити прямокутник", command=self.move_rectangle)
self.button1.pack()
self.button2 = Button(master, text="Перемістити обидві фігури", command=self.move_both)
self.button2.pack()
def move_rectangle(self):
x1, y1, x2, y2 = self.canvas.coords(self.rectangle)
dx = random.randint(-20, 20)
dy = random.randint(-20, 20)
self.canvas.coords(self.rectangle, x1+dx, y1+dy, x2+dx, y2+dy)
def move_both(self):
self.move_rectangle()
x1, y1, x2, y2 = self.canvas.coords(self.oval)
dx = random.randint(-20, 20)
dy = random.randint(-20, 20)
self.canvas.coords(self.oval, x1+dx, y1+dy, x2+dx, y2+dy)
root = Tk()
app = App(root)
root.mainloop()
2. Для створення піраміди з квадратною основою на полотні можна використати модуль turtle у Python. Ми створимо функцію draw_pyramid, яка приймає три аргументи: base_size, height, та color. base_size вказує на довжину сторони квадрата, height вказує на висоту піраміди, а color вказує на колір ліній, якими будуть малюватися фігури.
У функції draw_pyramid ми спочатку створюємо об'єкт turtle, встановлюємо його швидкість та вказуємо колір ліній. Далі ми малюємо квадратну основу піраміди та пересуваємо курсор вверх на висоту height. Потім ми починаємо малювати трикутники, використовуючи метод goto для пересування курсора до відповідних точок. У кінці ми приховуємо курсор за допомогою методу hideturtle.
import turtle
def draw_pyramid(base_size, height, color):
t = turtle.Turtle()
t.speed(0)
t.pencolor(color)
# Draw base square
for i in range(4):
t.forward(base_size)
t.left(90)
# Move up to height
t.penup()
t.goto(0, height)
t.pendown()
# Draw triangles
for i in range(base_size, 0, -2):
t.forward(i)
t.right(90)
t.forward(1)
t.right(90)
t.forward(i-2)
t.right(180)
t.hideturtle()
# Example usage
draw_pyramid(100, 200, "blue")
Приклад використання показує, як створити піраміду з квадратною основою розміром 100 на 100 та висотою 200, використовуючи колір ліній "blue". Результатом буде малюнок піраміди, який можна знайти у вікні Turtle.
Вас заинтересует
1 год назад
1 год назад
3 года назад
8 лет назад