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

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 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗