Почему мой код вылетает python, когда длина строки не равна 3, но работает, когда она равна 3? - PullRequest
0 голосов
/ 20 марта 2020
#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, он просто падает. Я не знаю, почему это происходит, и буду очень признателен за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...