Python 有没有办法阻止tkinter入口循环?

Python 有没有办法阻止tkinter入口循环?,python,loops,tkinter,conditional-statements,Python,Loops,Tkinter,Conditional Statements,我创建了一个whilefor循环,它应该检查条目中是否有2、3或4。当我在没有tkinter输入框的情况下尝试循环时,它循环并根据需要停止。当我把它和tkinter条目合并在一起时,它会无休止地循环。我对PythonTkinter还很陌生,正在尝试建立一个工作系统 已经在没有tkinter条目的情况下尝试了循环。我已经研究了好几个小时了 from tkinter import * def sentence(): global text text = musicEntry.get

我创建了一个whilefor循环,它应该检查条目中是否有2、3或4。当我在没有tkinter输入框的情况下尝试循环时,它循环并根据需要停止。当我把它和tkinter条目合并在一起时,它会无休止地循环。我对PythonTkinter还很陌生,正在尝试建立一个工作系统

已经在没有tkinter条目的情况下尝试了循环。我已经研究了好几个小时了

from tkinter import *
def sentence():
    global text 
    text = musicEntry.get()
    musicEntry.delete(0,END)
    countIt = 0
    while countIt == 0:             
        for line in text:
            if line in "2" or line in "3" or line in "4":
                countIt = 1
                messagebox.showinfo("All is well. Please press the SUBMIT button to continue")
                break
        else:
            print("This doesn't work")

def checkPass():
    global musicEntry
    enterText = Tk()
    enterText.title ("Welcome to music chooser")
    Label(enterText, text = "Please enter the music text", bg="black", fg="white", font="none 12 bold") .grid(row=7, column = 0, sticky=W) 

    #Create a text entry box for music level
    musicEntry = Entry(enterText, width=75, bg="white")
    musicEntry.grid(row=8, column=0, sticky=W)
    validateButton = Button(enterText, text="Validate", width=6, command=sentence) .grid(row=9, column=0, sticky=W)
checkPass()

我希望在执行else时,验证能够捕获缺失的2、3或4,这样我就可以为用户创建一个messagebox。

中的
行对于
行的两个可能值是正确的:
“2”
。唯一可以同时出现在“2”
中的
,“3”
中的
,以及“4”
中的
的值是空字符串。你可能想在第
行中使用
“2”。扔掉你的循环,如果文本和'234'中的文本是
我两种方法都试过了。更改2行、3行和4行会得到相同的结果-连续输出“这不起作用”。然后,我尝试了if文本和'234'中的文本,这将为正确和不正确的输入提供连续输出。我已经解决了这个问题。我没有在else语句中终止循环。