Python 如何输入多组数据

问题遇到的现象和发生背景

出租汽车计费器
内存限制: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(第三组)(后面有换行符)