Python代码不工作,而计数器不工作
我目前正在为班级做一个项目,我们遇到了一个问题。当我们运行代码时,它通常会崩溃。我猜它会无限地运行。这个程序也在使用Tkinter。代码如下:Python代码不工作,而计数器不工作,python,class,while-loop,tkinter,counter,Python,Class,While Loop,Tkinter,Counter,我目前正在为班级做一个项目,我们遇到了一个问题。当我们运行代码时,它通常会崩溃。我猜它会无限地运行。这个程序也在使用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=numb
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!
将tkinter作为tk导入
从tkinter进口*
#导入随机模块
随机输入``
#设置控制变量
猜测=0
计数器=0
number=random.randint(0100)
主=数字
def myGuess():
guess=float(enter1.get())
计数器=10
猜猜看!=编号:
计数器=计数器-1
如果guess==数字:
result=“恭喜!”
“您有多少”,计数器,“尝试备用”
label2.config(text=result)
label3.config(text=数量)
elif guess>数字:
结果=“过高”
“您有多少”,计数器,“向左尝试”
label2.config(text=result)
label3.config(text=数量)
elif guess<数字:
结果=“至低”
“您有多少”,计数器,“向左尝试”
label2.config(text=result)
label3.config(text=数量)
root=tk.tk()
root.title(“猜谜游戏”)
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
label1=tk.Label(根,文本='输入值:')
enter1=tk.Entry(根,bg='red')
btn1=tk.Button(根,文本='输入数字',命令=myGuess)
label2=tk.Label(根,文本=“”)
label3=tk.Label(根,文本=“”)
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
标签1.网格(行=0,列=0)
输入1.grid(行=0,列=1,padx=5,pady=5)
btn1.网格(行=2,列=0,pady=5)
标签2.网格(行=2,列=1)
标签3.网格(行=3,列=0)
我希望你们能帮忙!
您似乎从未更改guess
的值。对于崩溃,我们需要更多的信息,如回溯。对于下面的行,输入1是什么
- guess=float(enter1.get())
但是,您似乎需要检查已达到的尝试次数 您从未更改
guess
的值,因为它无法跳出循环。如果Python崩溃,有一个回溯,您可以向我们显示该回溯吗?如果您想使用random.radint(0100)的number
变量,您正在尝试调用本地myGuess函数中的number
您必须将编号标记为全局。将全局编号
写在脚本顶部没有错误,只是崩溃,没有响应。但我们不需要猜测来改变,我们需要计数器来改变。它不会在定义中减去。