Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python代码不工作,而计数器不工作_Python_Class_While Loop_Tkinter_Counter - Fatal编程技术网

Python代码不工作,而计数器不工作

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

我目前正在为班级做一个项目,我们遇到了一个问题。当我们运行代码时,它通常会崩溃。我猜它会无限地运行。这个程序也在使用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! 
将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())

您应该完全删除while循环。-这毫无意义。 代码在没有它的情况下运行“correct”,并执行您需要的操作


但是,您似乎需要检查已达到的尝试次数

您从未更改
guess
的值,因为它无法跳出循环。如果Python崩溃,有一个回溯,您可以向我们显示该回溯吗?如果您想使用
random.radint(0100)的
number
变量,您正在尝试调用本地myGuess函数中的
number
您必须将编号标记为全局。将
全局编号
写在脚本顶部没有错误,只是崩溃,没有响应。但我们不需要猜测来改变,我们需要计数器来改变。它不会在定义中减去。