11. Вспомним цикл for и rnd

В первой строке добавьте подключение функций randrange и choice из модуля random:

from tkinter import *
from random import randrange as rnd, choice
root = Tk()
...
1. Нарисовать 10 окружностей в случайном месте и случайного размера
2. Нарисовать 12 окружностей в случайном месте, случайного размера и цвета

Для задания случайного цвета будем использовать тот же список цветов, что и ранее (я добавил еще несколько штук):
colors = ['lightyellow', 'lightgray', 'gray', 'pink', 'violet', 'brown', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'magenta', 'black', 'gray', 'lightgreen']

С помощью функции choice выберем случайный цвет из списка:
color = choice(colors)
И нарисуем кружок выбранного цвета:
canv.create_oval(x-r,y-r,x+r,y+r,fill = color)

Все вместе:

from tkinter import *
from random import randrange as rnd, choice

root = Tk()
root.geometry('800x600')

canv = Canvas(root,bg='white')
canv.pack(fill=BOTH,expand=1)
 
colors = ['lightyellow', 'lightgray', 'gray', 'pink', 'violet', 'brown', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'magenta', 'black', 'gray', 'lightgreen']

def paint(event):
    canv.delete(ALL)
    for z in range(12):
        x = rnd(100,700)
        y = rnd(100,500)
        r = rnd(10,70)
        color = choice(colors)
        canv.create_oval(x-r,y-r,x+r,y+r,fill = color)
         
canv.bind('<Button-1>',paint)
mainloop()

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *