我正在尝试编写一个Python程序,收取停车费用已经停放了多少小时。
一切正常,直到分钟数超过300。
我玩了回报,每次输入后我都会成功完成没有输出。
当我投入600分钟(10小时)时,如果应该是30美元,我会收取40美元的费用。
这是我的代码:
import math
rate1 = 5
rate2 = 4
rate3 = 3
m = int(input('Please enter the number of minutes parked: '))
if m <= 60:
x = m/60
fee = math.ceil(x) * 5
print('Parking fee for',m,'minutes is $',fee)
elif m>60 & m<=300:
x = m/60
fee = math.ceil(x) * rate2
print('Parking fee for',m,'minutes is $',fee)
elif m>300:
x = m/60
fee = math.ceil(x) * rate3
print('Parking fee for',m,'minutes is $',fee)
else:
print('Invalid input')
输出:
Please enter the number of minutes parked: 600
Parking fee for 600 minutes is $ 40
Process finished with exit code 0
答案 0 :(得分:4)
if m > 60 & m <= 300:
应该是:
if m > 60 and m <= 300:
或
if 60 < m <= 300:
&
是逐位AND
运算符,and
是逻辑AND
运算符(这类似于&
和{{之间的差异在C,PHP和Javascript中使用1}}。