Созданную мной функцию можно вызвать только один раз, во второй раз она показывает ошибку - PullRequest
0 голосов
/ 24 сентября 2019

Я создал функцию для рисования гистограммы с черепахой.Первый вызов работает нормально, но завершается неудачно при повторном вызове:

"Файл" C: \ Users \ NTC \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ turtle.py ", строка 1292, в _incrementudc подъем Terminator turtle.Terminator "

единственное, что я попробовал, это использовать t.terminator в конце, те же результаты

    def bar_chart():
        t = turtle.Turtle()
        screen = turtle.Screen()
        ##snip  # lines detailing the lines drawing
        for value in range(1,11): # the upper limit has to be more thanhighest value in the "count"
            t.forward(20)
            t.write((" " + str(value)), align="left",font=("Arial", 8,     "normal"))
        screen.exitonclick()

просто ожидайте, что это будетвызывается несколько раз в зацикленной программе.

1 Ответ

0 голосов
/ 24 сентября 2019

Функция screen.exitonclick() не имеет отношения к функции, которую вы планируете вызывать несколько раз.Логически это последнее, что вы делаете в своей программе.Вы также не должны продолжать выделять черепах, чтобы делать то же самое, выделять и использовать повторно.Что-то вроде:

from turtle import Screen, Turtle

def bar_chart(t):
    for value in range(1, 11): # the upper limit has to be more than highest value in the "count"
        t.forward(20)
        t.write((" " + str(value)), align="left", font=("Arial", 8, "normal"))

screen = Screen()
turtle = Turtle()

bar_chart(turtle)

screen.exitonclick()
...