出租汽车计费器
内存限制:256 MB;时间限制:1 S;标准输入输出
有一个城市出租汽车的计费规则是3公里内(含3公里)基本费6元,超过3公里,每一公里1.4元(保留整公里数)。
现在对于输入具体的公里数x(0<x<1000),编程计算x公里所需的费用,计算结果保留2位有效数字。
输入有多组数据,每组数据单独一行,每行为一个实数(x)表示公里数。
输出出租车行驶x公里所需的费用。
没有报错
import math
ls = []
while True:
try:
ls.append(float(input()))
except:break
for x in ls:
res = 6 + max(math.ceil(x - 3), 0) * 1.4
print("%.2f" % res)
输入样例(同时输入)
0.002(第一组)(这不是输入的数量)
2.6(第二组)
4(第三组)(之后没有换行)
输出样例
6.00(第一组)
6.00(第二组)
7.40(第三组)
有什么问题?
价格只有一个式子就能得到:
price = 6+(n-1 if int(n)==n else int(n))//3*1.4
你要转字符串为数字,不用try很能办到,万一就输 abc 呢就是会报错的
Error = '输入错误,请重新输入!'
while True:
try:
n = float(input('请输入一个正数:')) #输入整数,小数都能通过
except:
print(Error)
continue
if n>=0:
break
else:
print(Error) #输入负数也会报错重输
print('输入正确:', n)
输入样例写错了,是:
0.002(第一组)(这不是输入的数量)
2.6(第二组)
4(第三组)(后面有换行符)