Python-初学者代码小混乱

Python-初学者代码小混乱,python,debugging,python-3.x,error-handling,Python,Debugging,Python 3.x,Error Handling,这是我必须创建的程序说明: 该程序是一名警官必须为他们所做的每一个轮班输入一个“速度区”。在他们输入的答案中,速度区域必须是一个整数。然后他们会得到第二个要填写的问题,问他们“汽车的行驶速度是多少?”。此输入答案也只能是整数。如果汽车的行驶速度超过了他们之前在轮班时估算的“速度区”,则每超过“速度区”1公里,将被罚款10美元。因此,如果汽车超过10公里,将被罚款100美元。如果汽车行驶速度低于估算的“速度区”,则不会罚款。如果任何罚单被罚款,官员必须输入车型名称。例如日产,奥迪,法拉利。。。然后

这是我必须创建的程序说明: 该程序是一名警官必须为他们所做的每一个轮班输入一个“速度区”。在他们输入的答案中,速度区域必须是一个整数。然后他们会得到第二个要填写的问题,问他们“汽车的行驶速度是多少?”。此输入答案也只能是整数。如果汽车的行驶速度超过了他们之前在轮班时估算的“速度区”,则每超过“速度区”1公里,将被罚款10美元。因此,如果汽车超过10公里,将被罚款100美元。如果汽车行驶速度低于估算的“速度区”,则不会罚款。如果任何罚单被罚款,官员必须输入车型名称。例如日产,奥迪,法拉利。。。然后,它们都必须打印出来,设计成类似于警察的罚单。除“速度区”外,所有这些都必须重复

这是我的密码:

fine=int(0)

un_speed_limit = 0

while not un_speed_limit:

    speed_limit=int(input("What is your speed zone? "))
    try:
        un_speed_limit = int(speed_limit)
    except ValueError:
        print("That is not a number! ")
pass_car_speed=print("\nType '000' to kill program.\n\n")

while pass_car_speed !=000:

    try:
        pass_car_speed=int(input("What speed is the car going? "))
    except ValueError:
        print("Invalid number! ")
    else:
        if pass_car_speed==000:
            break
        if pass_car_speed > speed_limit:
            fine=(pass_car_speed-speed_limit)*10
    if pass_car_speed <= speed_limit:
        print("This car is under the limit. No ticket needed! \n")
    if pass_car_speed > speed_limit:
        name=str(input("What is the car model name? "))
        print("____________________________________________\n")
        print("   | P O L I C E   T I C K E T |   \n")
        print("   | Speed: ",pass_car_speed,"   \n")
        print("   | Fine Cost: ",fine,"    \n")
        print("   | Car Name: ",name,"  ")
        print("____________________________________________\n")

只有当我没有为“你的速度区域是多少?”键入整数时,才会出现此消息。

你试图将
速度限制
转换为整数两次。一个被Try/Except子句包围,另一个不是。只需从非冗余调用中删除
int()
调用,即行

speed_limit=int(input("What is your speed zone? "))

您似乎也指定了
un\u speed\u limit
但从未使用过它,您可能应该删除它,然后使用
speed\u limit

我不得不更改线路

pass_car_speed=print("\nType '000' to kill program.\n\n")


使程序正常工作。

此代码中有许多错误

这是正确的版本,您应该花一些时间来分析它

while True:
    try:
        speed_limit = int(input("What is your speed zone? "))
        break
    except ValueError:
        print("That is not a number! ")
        continue

while True:
    print("What speed is the car going?")
    try:
        pass_car_speed = int(input( "Enter speed, or 0 to quit: "))
    except ValueError:
        print("Invalid number! ")
        continue

    if not pass_car_speed: # 0 is False, non-zero True
        break # quit loop (and program)

    if pass_car_speed <= speed_limit:
        print("This car is under the limit. No ticket needed!")
    else:
        fine = (pass_car_speed - speed_limit) * 10
        name = input("What is the car model name? ")
        print("____________________________________________")
        print("   | P O L I C E   T I C K E T |   ")
        print("   | Speed: ",pass_car_speed,"   ")
        print("   | Fine Cost: ",fine,"    ")
        print("   | Car Name: ",name,"  ")
        print("____________________________________________")

print("Goodbye!")
为True时:
尝试:
速度限制=int(输入(“你的速度区域是什么?”)
打破
除值错误外:
打印(“那不是一个数字!”)
持续
尽管如此:
打印(“汽车行驶的速度是多少?”)
尝试:
pass_car_speed=int(输入(“输入速度,或0退出:”)
除值错误外:
打印(“无效数字!”)
持续
如果未通过轿厢速度:#0为假,非零为真
中断#退出循环(和程序)

如果超过汽车速度,非常感谢!你不知道我肩上的压力减轻了多少。知道你帮助了别人,你应该面带微笑地睡个安稳觉!再次感谢您!非常感谢。如果你能给我一些反馈,告诉我在学习中应该注意什么,以及将来应该避免什么,我会很高兴的。
pass_car_speed=input("\nType '000' to kill program.\n\n")
while True:
    try:
        speed_limit = int(input("What is your speed zone? "))
        break
    except ValueError:
        print("That is not a number! ")
        continue

while True:
    print("What speed is the car going?")
    try:
        pass_car_speed = int(input( "Enter speed, or 0 to quit: "))
    except ValueError:
        print("Invalid number! ")
        continue

    if not pass_car_speed: # 0 is False, non-zero True
        break # quit loop (and program)

    if pass_car_speed <= speed_limit:
        print("This car is under the limit. No ticket needed!")
    else:
        fine = (pass_car_speed - speed_limit) * 10
        name = input("What is the car model name? ")
        print("____________________________________________")
        print("   | P O L I C E   T I C K E T |   ")
        print("   | Speed: ",pass_car_speed,"   ")
        print("   | Fine Cost: ",fine,"    ")
        print("   | Car Name: ",name,"  ")
        print("____________________________________________")

print("Goodbye!")