#carPark
from tkinter import *
root = Tk()
root.title("OCR's car park program")
frame = Frame(root)
frame.grid(row = 2, column = 0)
def program():
loop = True
while loop:
if len(plateNumber.get()) == 3:
welcome.config(text = "Valid plate number.")
loop = False
elif len(plateNumber.get()) != 3:
welcome.config(text = "Invalid plate number.")
askPlate()
def askPlate():
global plateNumber
plateNumber = Entry(frame)
plateNumber.grid(row = 2, column = 1)
plateNumberLabel = Label(frame, text = "Enter the last 3 digits of your car's plate number: ")
plateNumberLabel.grid(row = 2, column = 0)
checker = Button(root, text = "Click me when you're done.", command = program)
checker.grid(row = 3, column = 0)
try:
plateNumber.delete(END, 0)
except:
pass
welcome = Label(root, text = "Welcome to OCR's car park program.")
welcome.grid(row = 0, column = 0)
price = "2"
pricePay = Button(root, text = "Click me to accept the £" + price + " ticket fee.", command = askPlate)
pricePay.grid(row = 1, column = 0)
root.mainloop()
[只要我输入的输入等于3的长度,它就会起作用,但是当它等于3时,它将崩溃。我不知道为什么会这样,真的会感谢您的帮助。
您不需要循环,然后在错误的时间循环。只需按一下即可检查它是否有效:
from tkinter import *
root = Tk()
root.title("OCR's car park program")
frame = Frame(root)
frame.grid(row = 2, column = 0)
def valid():
if len(plateNumber.get()) == 3:
welcome.config(text = "Valid plate number.")
elif len(plateNumber.get()) != 3:
welcome.config(text = "Invalid plate number.")
askPlate()
def askPlate():
global plateNumber
plateNumber = Entry(frame)
plateNumber.grid(row = 2, column = 1)
plateNumberLabel = Label(frame, text = "Enter the last 3 digits of your car's plate number: ")
plateNumberLabel.grid(row = 2, column = 0)
checker = Button(root, text = "Click me when you're done.", command = valid)
checker.grid(row = 3, column = 0)
try:
plateNumber.delete(END, 0)
except:
pass
welcome = Label(root, text = "Welcome to OCR's car park program.")
welcome.grid(row = 0, column = 0)
price = "2"
pricePay = Button(root, text = "Click me to accept the £" + price + " ticket fee.", command = askPlate)
pricePay.grid(row = 1, column = 0)
root.mainloop()