这样写对吗?有没有地方需要优化?

这样写对吗?有没有地方需要优化?

# coding:utf-8

# 出租车起步价13元  3km内收费13元
taxi = 13
km = input('走了多少公里:')
if int(km) <= 3:
    total = 13
    print('坐车花费{}元'.format(total), end = ' ')
elif 3 < int(km) < 10:  # 超过3公里单价为2.3
    total = 13 + int(km)  * 2.3 - 3 * 2.3
    print('坐车花费{}元'.format(total), end = ' ')
else:  # 超过10公里,单价为2.76
    total = 13 + int(km) * 2.76 - 3 * 2.3
    print('坐车花费{}元'.format(total), end = ' ')
# 燃油附加费是1元
print('燃油附加费是{}元,总费用是{}元'.format(1, total + 1))


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小猿 2023-04-06 16:03:35

同学,你好!同学超过10公里的计算方法是错误的。3公里以内是13元,3公里到10公里是每公里2.3元,即7*2.3是3公里到10公里的价格。超过10公里,要用减去10公里剩下的值,乘以2.76,即用(km-10)*2.76,最后求和

https://img1.sycdn.imooc.com//climg/642e7c76091e25fa08870567.jpg

祝学习愉快~

  • 提问者 jinxianzi #1
    # coding:utf-8
    
    # 出租车起步价13元  3km内收费13元
    taxi = 13
    km = input('走了多少公里:')
    if int(km) <= 3:
        total = 13
        print('坐车花费{}元'.format(total), end = ' ')
    elif 3 < int(km) < 10:  # 超过3公里单价为2.3
        total = 13 + (int(km) - 3)  * 2.3
        print('坐车花费{}元'.format(total), end = ' ')
    else:  # 超过10公里,单价为2.76
        total = 13 + (int(km) - 10) * 2.76 + 7 * 2.3
        print('坐车花费{}元'.format(total), end = ' ')
    # 燃油附加费是1元
    print('燃油附加费是{}元,总费用是{}元'.format(1, total + 1))

    这样改就对了把

    2023-04-06 16:18:28
  • 好帮手慕小猿 回复 提问者 jinxianzi #2

    同学,你好!同学代码正确!


    祝学习愉快~

    2023-04-06 16:22:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师