止戈之武 2022-02-23 00:11 采纳率: 75%
浏览 108
已结题

python编程解数学题出现了额外的小数位数?

某城市出租车计费标准如下:
(1)起步里程为3公里(含3公里),起步费13元;
(2)载客里程3~15公里范围的,除起步费外,超过3公里的部分按基本单价2.3元/公里计算;
(3)载客里程超过15公里的,15公里内的按照(2)计算,超过15公里的基本单价加收50%的费用;
(4)时速低于12公里/小时的慢速行驶时间计入等待时间,每等待1分钟加收1元;
请输入乘车里程(整数)、等待时间,输出车费。

s=int(input('请输入乘车里数:'))
t=float(input('请输入等待时间:'))
if 0<s<=3:
    f=13+t
    print("车费为:{}".format(f))
elif 3<s<=15:
    f=13+(s-3)*2.3+t
    print("车费为:{}".format(f))
else:
    f=13+(15-3)*2.3+(s-15)*2.3*1.5+t
    print("车费为:{}".format(f))

结果:
请输入乘车里数:10
请输入等待时间:0
车费为:29.099999999999998
不知该如何改正?

  • 写回答

3条回答 默认 最新

  • 辉煌仪奇 2022-02-23 09:34
    关注
    s = int(input('请输入乘车里数:'))
    t = float(input('请输入等待时间:'))
    if 0 < s <= 3:
        f = 13 + t
    elif 3 < s <= 15:
        f = 13 + (s - 3) * 2.3 + t
    else:
        
        f = 13 + (15 - 3) * 2.3 + (s - 15) * 2.3 * 1.5 + t
    # round(浮点数,保留小数位数) 保留方式,四舍五入
    print("车费为:{}".format(round(f,3)))
    

    有帮助请点一下右上角的采纳,谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 创建了问题 2月23日

悬赏问题

  • ¥15 使用yolov5-7.0目标检测报错
  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备