Как покончить с петлей черепахи в Python во время исполнения из Анаконды? - PullRequest
0 голосов
/ 02 июня 2018

У меня есть следующий код: цикл не заканчивается, и черепаха продолжает делать круг.

    import turtle
    from turtle import Turtle
    from random import randint
    window=turtle.Screen()
    t = turtle.Turtle()
    #circle
    t.reset()
    while True:
        t.forward(2)
        t.right(1)
    if abs(pos()) < 1:
        break

Я выполняю это из записной книжки Jupyter.Тот же код работает хорошо, если я выполняю из командной строки.Пожалуйста, сообщите !!

Спасибо

1 Ответ

0 голосов
/ 24 ноября 2018

Код не работает в командной строке, как написано, несмотря на то, что вы говорите, что он работает (дважды). Проблема в вызове pos() - он выдает NameError: name 'pos' is not defined.Если бы вы также добавили from turtle import * среди ваших нескольких импортных черепах, то он будет работать, но неправильно, как если бы вы двигали вашу черепаху t, но тестировали по умолчанию положение черепахи.В этой упрощенной форме это должно работать:

import turtle

t = turtle.Turtle()

while True:
    t.forward(2)
    t.right(1)
    if abs(t.pos()) < 1:
        break

turtle.done()
...