我在使用tkinter的python中出错,需要帮助(学校项目)

时间:2015-12-03 20:14:59

标签: python python-3.x tkinter syntax-error

我必须在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)

1 个答案:

答案 0 :(得分:0)

好的,所以我发现了一些错误。第一个是您在函数内部引用global variable(索引)。要做到这一点,你需要告诉python你正在使用一个全局变量。

def menueauswahl(taste):
    global index
    print(taste)

您还需要将第61行中的函数名称更改为menuaufbau en ()。