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