파이썬으로 만든 수학 게임을 끝내 겠지만 "num 1 & num2가 정의되어 있지 않습니다.이 코드는 파이썬 과정의 마지막 부분이며이 점이 저를 방해하고 있습니다. 그것을 끝내기에서 내가 할 수있는 모든 도움에 대해 매우 감사하고있다. 숫자는 계시 함수에서 결정되는 int이며, 계시 함수에서는 옳고 그름을 나타내는 메시지를 토대로 하나의 시도를 추가한다. 문제는 모든 그들은 내가 계산한다이 문제를 해결하는 것이 중요하지 않기 때문에 곱셈이. 나는 위젯을 삭제 한 메인-기능 이외의 일이다.파이썬 게임이 실행되지 않습니다
from Tkinter import *
import random
number = num1 * num2
num1= random.randint(1, 15)
global num1
num2 = random.randint(1, 15)
global num2
forsok = 0
class Application(Frame):
def quit(self):
global root
root.destroy()
def reset(self):
self.name_ent.delete(0, END)
self.gissa_ent.delete(0, END)
self.display1_txt.delete(1.0,END)
self.display2_txt.delete(1.0,END)
self.display3_txt.delete(1.0,END)
self.display4_txt.delete(1.0,END)
def reveal(self):
global forsok
name = self.name_ent.get()
gissa = self.gissa_ent.get()
if int(gissa) != int(number):
result_msg = "Tyvärr det är fel!!"
forsok += 1
if int(gissa) == int(number):
result_msg = "Du gissade rätt!!Grattis du vann!"
forsok += 1
welcome_msg = "Välkommen " + name
gissa_msg = " Du svarade på: " + gissa
forsok_msg = "Du har svarat " + str(forsok) + "gånger."
if forsok > 3:
welcome_msg = "Game OVER!!."
gissa_msg = "Du har gissat för många gånger mohahaha."
result_msg = " "
forsok_msg = " "
# Display visar de olika meddelanadena
self.display1_txt.delete(0.0, END)
self.display1_txt.insert(0.0, welcome_msg)
self.display2_txt.delete(0.0, END)
self.display2_txt.insert(0.0, gissa_msg)
self.display3_txt.delete(0.0, END)
self.display3_txt.insert(0.0, result_msg)
self.display4_txt.delete(0.0, END)
self.display4_txt.insert(0.0, forsok_msg)
# Main hanteraren rootar och bestämmer storleken på fönstret
root = Tk()
root.title("Gissa Multiplikationen")
root.geometry("700x450")
app = Application(root)
root.mainloop()
root = Tk()
quit_bttn(root)
Application(root)
root.mainloop()
오류 메시지가
다음입니다number = num1 * num2
NameError: global name 'num1' is not defined
'글로벌'사용법을 오해 할 수도 있습니다. – zhangyangyu