1) Как сделать программу, которая будет рисовать несколько кругов разного размера в разных местах графического окна?

1) Как сделать программу, которая будет рисовать несколько кругов разного размера в разных местах графического окна?
2) Можете ли вы изменить программу, чтобы она имитировала движение мяча (круга) с лева на право?
3) Как можно нарисовать несколько квадратов со стороной 30 и случайно заданными координатами верхнего левого угла?
Зимний_Вечер

Зимний_Вечер

Конечно! Давайте решим каждую задачу по порядку.

1) Чтобы создать программу, рисующую несколько кругов разного размера в разных местах графического окна, мы можем использовать библиотеку графического интерфейса, такую как tkinter в Python. Вот пример кода программы:

python
from tkinter import *
import random

# Создаем окно
window = Tk()
canvas = Canvas(window, width=400, height=400)
canvas.pack()

# Функция для создания кругов
def draw_circles():
for _ in range(5): # нарисуем 5 кругов
x = random.randint(50, 350) # случайная координата x
y = random.randint(50, 350) # случайная координата y
radius = random.randint(10, 50) # случайный радиус
canvas.create_oval(x-radius, y-radius, x+radius, y+radius) # рисуем круг

# Вызываем функцию для создания кругов
draw_circles()

# Запускаем главный цикл окна
window.mainloop()


В этом примере мы создаем графическое окно размером 400x400 пикселей и используем функцию `create_oval` для рисования кругов. Координаты и размеры кругов задаются случайным образом, используя функцию `random.randint`.

2) Чтобы изменить программу для имитации движения мяча с лева на право, нам потребуется добавить анимацию и обновление позиции круга на каждом шаге. Вот измененный код программы:

python
from tkinter import *
import random

window = Tk()
canvas = Canvas(window, width=400, height=400)
canvas.pack()

def move_ball():
x = 0 # начальная координата x
y = random.randint(50, 350) # случайная координата y
radius = random.randint(10, 50)

while x < 400:
canvas.delete("all") # очищаем холст на каждом шаге
canvas.create_oval(x - radius, y - radius, x + radius, y + radius)
x += 5 # увеличиваем значение x для перемещения вправо
window.update() # обновляем окно
canvas.after(100) # пауза между шагами

move_ball()

window.mainloop()


В этой версии программы мы добавляем цикл `while`, который продолжается до тех пор, пока значение `x` не будет больше 400, что соответствует правому краю окна. Мы также очищаем холст при каждом шаге с помощью `canvas.delete`, чтобы стирать предыдущее положение круга и рисовать его в новом месте.

3) Чтобы нарисовать несколько квадратов со стороной 30 и случайно заданными координатами верхнего левого угла, мы можем использовать ту же самую библиотеку tkinter в Python. Вот пример кода программы:

python
from tkinter import *
import random

window = Tk()
canvas = Canvas(window, width=400, height=400)
canvas.pack()

def draw_squares():
for _ in range(5): # нарисуем 5 квадратов
x = random.randint(0, 370) # случайная координата x
y = random.randint(0, 370) # случайная координата y
canvas.create_rectangle(x, y, x + 30, y + 30) # рисуем квадрат

draw_squares()

window.mainloop()


Мы снова создаем графическое окно размером 400x400 пикселей и используем функцию `create_rectangle` для рисования квадратов. Координаты верхнего левого угла квадрата задаются случайным образом с помощью функции `random.randint`, а его размеры указываются как `x`, `y`, `x + 30`, `y + 30`.
Знаешь ответ?
Задать вопрос
Привет!
hello