我不知道我在想什么(龟)

时间:2017-02-17 14:42:51

标签: python

我正在使用 Trinket 来运行我的 python

我几天都在修补它,它一直给我这个错误:

Traceback (most recent call last):   File
"/tmp/sessions/5ecd67058b43cfc0/main.py", line 2, in
    setup(500, 500)   File "", line 6, in setup   File "/usr/lib/python3.5/turtle.py", line 3662, in Screen
    Turtle._screen = _Screen()   File "/usr/lib/python3.5/turtle.py", line 3678, in __init__
    _Screen._root = self._root = _Root()   File "/usr/lib/python3.5/turtle.py", line 434, in __init__
    TK.Tk.__init__(self)   File "/usr/lib/python3.5/tkinter/__init__.py", line 1871, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

以下是目前的代码:

from turtle import *
setup(500, 500)
Screen()
title("Turtle Keys")
move = Turtle()
showturtle()
def k1():
 move.forward(100)
 move.left(90)
 move.forward(100)
 move.left(90)
 move.forward(100)
 move.left(90)
 move.forward(100)
 move.left(90)
def k2():
 move.forward(320)
 move.left(120)
 move.forward(320)
 move.left(120)
 move.forward(320)
 move.left(120)
 
def k3():
    move.right(45)
def k4():
 move.forward(100)
 move.left(90)
 move.forward(50)
 move.left(90)
 move.forward(100)
 move.left(90)
 move.forward(50)
 move.left(90)
 
def k5():
 move.left(10)
 
def k6():
 move.forward(10)
 
def k7():
 move.backward(10)
 
onkey(k1, "Up")
onkey(k2, "Left")
onkey(k3, "Right")
onkey(k4, "Down")
onkey(k5, "1")
onkey(k6, "2")
onkey(k7, "3")
listen()
mainloop()

目标是在按下某些键时绘制某些形状。

2 个答案:

答案 0 :(得分:2)

如果你正在谈论https://trinket.io/python,看起来你并没有read the docs过于紧密 - 那里有Trinket实际支持的有限的Turtle子集,而且没有它涉及用户互动。

如果你想要键盘交互和Turtle,你需要install Python on your own machine

答案 1 :(得分:0)

repl.it至少支持图形并告诉你程序中的错误而不是无用的$ DISPLAY变量错误 - 试试https://repl.it/languages/python_turtle

但它似乎仍然不支持您尝试使用的键盘输入。如果你注释掉setup()和title()并删除了onkey()/ listen()代码,而是替换了对函数的一些硬调用,你至少可以获得一些输出。

在本地安装Python - https://www.python.org/downloads/ - 以获得功能齐全的环境。