获取Turtle中每个字母的输入

问题描述

我正在创建一个程序,当我从(a-z)中的每个字母获取用户输入时都需要调用一个函数。最初,我像这样对每个可能的字母进行硬编码,调用它们各自的功能

def b():
  if 'b' in Words[ChosenNum][0]: 
    print ("good job")
  else:
    global points
    points -= 1

screen.onkey(a,'a')
screen.onkey(b,'b')
screen.onkey(c,'c')
screen.onkey(d,'d')
screen.onkey(e,'e')
screen.onkey(f,'f')
# [...]

但是,我想找到一种通过for循环简化此逻辑的方法。这是遍历字母并调用适当的字母。这样做的问题是,每次找到输入时,在check_input()函数中,字母似乎始终是“ z”的值。为什么会这样?

def check_input():
    global points
    print("Letter found",letter)
    if letter in Words[ChosenNum][0]:
        print("good job")
    else:
        points -= 1
        print(points)

while True:
   for letter in string.ascii_lowercase:
        screen.onkey(check_input,letter)
        screen.listen()

   screen.update()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)