我必须在python中为学校创建一个小文本冒险。 为了检测键盘输入,我决定使用tkinter并禁用窗口。 一切正常,但如果我按下按键后尝试用变量计算,我会收到以下错误... This is the error message
这是我正在使用的脚本(我没有太多使用python的经验......)
import os
import sys
import tkinter
menueeintraege = ["Start", "Steuerung", "Credits", "Beenden"]
index = 0
def menueaufbauen():
os.system("cls")
print("Menue")
print("")
print("")
for i in range(4):
if i == index:
print(menueeintraege[i] + "<")
else:
print(menueeintraege[i])
menueaufbauen()
def startgame():
os.system("game.py");
def steuerung():
os.system("cls")
print("Steuerung")
print("")
print("Norden = Pfeiltaste Hoch")
print("Sueden = Pfeiltaste Runter")
print("Osten = Pfeiltaste Rechts")
print("Westen = Pfeiltaste Links")
print("Bestaetigen = Enter")
def credits():
os.system("cls")
print("Credits")
print("")
print("Jannik Nickel")
print("Thomas Kraus")
print("")
def exitgame():
sys.exit()
def menueauswahl(taste):
print(taste)
if taste == "Up":
if index > 0:
index -= 1
print(index)
elif taste == "Down":
if index < 3:
index += 1
menueaufbau()
def tasteneingabe(event):
tastenname = event.keysym
menueauswahl(tastenname)
fenster = tkinter.Tk()
fenster.bind_all('<Key>', tasteneingabe)
fenster.withdraw()
fenster.mainloop()
我认为错误必须出现在剧本的最后部分,我希望这里有人知道解决方案,因为它对学校非常重要。
感谢您的帮助 (我使用的是Visual Studio 2015)
答案 0 :(得分:0)
好的,所以我发现了一些错误。第一个是您在函数内部引用global variable(索引)。要做到这一点,你需要告诉python你正在使用一个全局变量。
def menueauswahl(taste):
global index
print(taste)
您还需要将第61行中的函数名称更改为menuaufbau en ()。