Это мой код для камеры ANPR, которая сканирует лицензию, номерной знак, а также проверяет, ускоряются ли они или нет, и записывает всю информацию в текстовый документ с именем output.txt.Все это работает, кроме одной части, см. Внизу.Кроме того, код ошибки для него не появляется
#Imports
import time
import random
#Gets the number plate
np=input()
#Sets the parts of the license plate
twoletters=np[0:2]
twonumbers=np[2:4]
threeletters=np[4:7]
#Sensors
sensor1=0
sensor2=random.uniform(0.25, 0.4)
sensor2=round(sensor2, 1)
#Variables
twoletterstf=False
twonumberstf=False
threeletterstf=False
valid=False
speed=0
ticketprice=0
ticket=False
distance=10
#Calculations to work out the speed
time.sleep(1)
distance=10
times=sensor2-sensor1
ans=1/times
speed=distance*ans
#If more than 7 letters and numbers
if len(np)>7 or len(np)<7:
valid=False
print("Invalid Nuber Plate")
#If less than 7 letters and numbers outputs number plate and speed
#If their is upper case letters and digits in correct order
elif twoletters.isupper() and twoletters.isalpha and twonumbers.isdigit()
and threeletters.isupper() and threeletters.isalpha():
valid=True
twoletterstf=True
twonumberstf=True
threeletterstf=True
#If isn't upper case or their isn't 2 numbers or if their isnt't three letters, then outputs the number plate with speed
elif twoletterstf==False or twonumberstf==False or threeletterstf==False:
print("Invalid Number Plate")
valid=False
elif speed > 31:
ticket=True
ticketprice=100+speed
elif speed < 31:
ticket=False
ticketprice=0
else:
exit
f=open("Output.txt", "a")
f.write("Number Plate:" + str(np) + "\n")
f.write("Valid:" + str(valid) + "\n")
f.write("Speed:" + str(speed) + "M/S" + "\n")
f.write("Ticket:" + str(ticket) + "\n")
f.write("Ticket Price: £" + str(ticketprice) + "\n")
f.write("\n")
f.close()
Это проблема, элифы на самом деле не работают, и поэтому действует так, как будто их там не было.И когда он записывает код в текстовом документе, он всегда выглядит как ложный и никогда не верный, если он на самом деле ускоряется. Так что, если кто-то может помочь, это будет реальная помощь
elif speed > 31:
ticket=True
ticketprice=100+speed
elif speed < 31:
ticket=False
ticketprice=0