Как я могу закрыть окно после использования Turtle - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь использовать Черепаху в Spyder и Jupyter, но у меня возникают проблемы при попытке закрыть окно.

Я использую Python 3.7 на Spyder 3.3.1 и Jupyter 5.6.0, на Windows 10

Это то, что я пробовал

import turtle as trtl

trtl.forward(100)
trtl.left(90)
trtl.forward(100)
trtl.left(90)
trtl.forward(100)
trtl.left(90)
trtl.forward(100)
trtl.exitonclick()

У меня нормально работает, но если я закрываю окно и пытаюсь снова запустить тот же код, я получаю следующую ошибку:

---------------------------------------------------------------------------
Terminator                                Traceback (most recent call last)
<ipython-input-9-ad2d84897daf> in <module>()
      1 import turtle as trtl
      2 
----> 3 trtl.forward(100)
      4 trtl.left(90)
      5 trtl.forward(100)

~\Anaconda3\lib\turtle.py in forward(distance)

Terminator: 

Я пробовал несколько комбинаций done(), bye() и exitonclick(), но не могу заставить его работать

1 Ответ

0 голосов
/ 15 января 2019

Вот выдержка из черепахи Документация :

Если значение «using_IDLE» в словаре конфигурации равно False (значение по умолчанию), также введите mainloop. Примечание: Если используется IDLE с ключом -n (без подпроцесса), это значение должно быть установлено в True в turtle.cfg. В этом случае собственный mainloop IDLE активен и для клиентского скрипта.

Таким образом, вы можете добавить using_IDLE = True к turtle.cfg файлу для решения этой проблемы. Это не позволит exitonclick() войти в основной цикл.

...