Я написал программу, которая извлекает случайный набор координат/цветов из списка и рисует круг в графическом окне. Я хочу, чтобы останавливал рисование кругов, как только каждый набор координат/цветов был нарисован хотя бы один раз. Я также хочу документировать, сколько раз использовалось каждое из 9 возможных наборов координат/цветов. Я инициализировал счетчик count = [0, 0, 0, 0, 0, 0, 0, 0, 0]
, который я хочу печатать каждый раз, когда нарисован новый круг, добавленный с количеством раз, когда каждое состояние было использовано. Советы по тому, как это сделать?Счетчик в Python
Пример вывода в оболочке:
count = [1, 0, 0, 0, 0, 0, 0, 0, 0]
count = [2, 0, 0, 0, 0, 0, 0, 0, 0]
count = [2, 1, 0, 0, 0, 0, 0, 0, 0]
count = [2, 1, 0, 0, 1, 0, 0, 0, 0]
count = [2, 1, 1, 0, 1, 0, 0, 0, 0]
count = [2, 1, 1, 0, 1, 0, 0, 0, 1]
count = [2, 1, 1, 0, 1, 0, 1, 0, 1]
count = [2, 1, 1, 0, 1, 0, 1, 1, 1]
count = [2, 1, 1, 1, 1, 0, 1, 1, 1]
count = [2, 1, 1, 1, 1, 1, 1, 1, 1]
Пожалуйста и спасибо заранее!
import random, turtle
wn = turtle.Screen()
alex = turtle.Turtle()
alex.pensize(3)
alex.color("black")
def turtle_draw():
'''draws a circle with given coordinates and in a
given color, prints a counter.'''
color, place = random_state_finder()
alex.pu()
alex.goto(place)
alex.shape("circle")
alex.shapesize(3)
alex.fillcolor(color)
count = [0, 0, 0, 0, 0, 0, 0, 0, 0]
wn.ontimer(turtle_draw, 250)
def random_state_finder():
'''randomly generates a state number from 0 to 8
and assigns the state's data to color and place.'''
rng = random.Random()
state_num = rng.randrange(0, 8)
L = [((-150, 150), "red"), ((0, 150), "orange"),
((150, 150), "yellow"), ((-150, 0), "green"),
((0, 0), "blue"), ((150, 0), "violet"),
((-150, -150), "cyan"), ((0, -150), "magenta"),
((-150, -150), "purple")]
random_state = L[state_num]
color = random_state[1]
place = random_state[0]
return color, place
turtle_draw()
Для начала, необходимо обновлять 'count' каждый раз при выборе состояния; для этого его нельзя просто определить локально для 'turtle_draw'. –