【发布时间】:2014-03-05 17:23:07
【问题描述】:
我目前正在做一个课堂项目,但我们遇到了一个问题。当我们运行代码时,它通常会崩溃。我猜它会无限运行。该程序也使用 Tkinter。代码如下:
import tkinter as tk
from tkinter import *
# import the random module
import random``
# set control variables
guess = 0
counter = 0
number=random.randint(0,100)
themain=number
def myGuess():
guess = float(enter1.get())
counter= 10
while guess != number:
counter = counter - 1
if guess == number:
result = "Congratulations!"
howmany= "You have ", counter, "Tries to spare"
label2.config(text=result)
label3.config(text=howmany)
elif guess > number:
result = "To high"
howmany= "You have ", counter, "Tries left"
label2.config(text=result)
label3.config(text=howmany)
elif guess < number:
result = "To low"
howmany= "You have ", counter, "Tries left"
label2.config(text=result)
label3.config(text=howmany)
root=tk.Tk()
root.title("Guessing Game")
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
label1 = tk.Label(root, text=' Enter value:')
enter1 = tk.Entry(root, bg='red')
btn1 = tk.Button(root, text=' Enter Number', command=myGuess)
label2 = tk.Label(root, text='')
label3 = tk.Label(root, text='')
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
label1.grid(row=0, column=0)
enter1.grid(row=0, column=1, padx=5, pady=5)
btn1.grid(row=2, column=0, pady=5)
label2.grid(row=2, column=1)
label3.grid(row=3, column=0)
I hope you guys can help!
【问题讨论】:
-
你永远不会改变
guess的值,它不能跳出循环。 -
如果 Python 崩溃有一个回溯,你能告诉我们那个回溯吗?
-
你试图在本地的myGuess函数中调用
number,如果你想使用random.radint(0,100)的number变量,你必须将number标记为全局。在脚本顶部写global number
标签: python class while-loop tkinter counter