Python中的Onkey函数Turtle不适用于我的输入

时间:2017-07-02 17:04:13

标签: python turtle-graphics

以前在我的程序中,我在控制台中使用输入来输入猜测,但现在我想在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'。

1 个答案:

答案 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'你想要什么 - 当你输入'?'你已经建立的字母串会打印出来。