我在python和tkinter中有一个错误,需要帮助(学校项目)

2024-07-08 12:38:03 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: importindexifostkinterdef错误system
1条回答
网友
1楼 · 发布于 2024-07-08 12:38:03

好吧,我发现了几个错误。第一个是在函数中引用global variable(索引)。为此,您需要告诉python您正在使用一个全局变量。你知道吗

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

而且您还需要将第61行中的函数名更改为menuaufbauen()。你知道吗

相关问题 更多 >

    热门问题