以前在我的程序中,我在控制台中使用输入来输入猜测,但现在我想在Python 3.6.1 Turtle中使用onkey()
函数。我希望它能够检测到玩家是否按下了任何键,然后创建了一个字符串,上面写着“guess ='a'”。我想要这样的东西:
import turtle
canvas=turtle.Screen()
t=turtle.Pen()
guess=0
def a():
guess='a'
canvas.onkey(a,'a')
canvas.listen()
显然,字母表中每个字母的另一个定义函数。 然而,在此之后,当按下'a'并放'print(guess)'时,它不会打印'a'。
答案 0 :(得分:0)
简短的回答是您忘记了global
函数中的a()
语句,因此它对guess
的引用是本地的,而不是全局的。这是一个示例实现:
import turtle
def a():
global guess
guess += 'a'
def b():
global guess
guess += 'b'
def question():
print(guess)
guess = ''
canvas = turtle.Screen()
canvas.onkey(a, 'a')
canvas.onkey(b, 'b')
canvas.onkey(question, '?')
canvas.listen()
canvas.mainloop()
您可以输入' a'和' b'你想要什么 - 当你输入'?'你已经建立的字母串会打印出来。