刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

38.收费标准
某快递公司对于不同重量的包裹和不同的寄送距离有不同的收费标准。该公司将寄送距离分为两个区间:
在距离 distance 小于或等于 1000 公里时,如果包裹重量weight小于等于 2 千克,收费 base_near 元;如果重量大于 2 千克,超出 2 千克的部分每千克收费 extra_near 元。
在距离大于 1000 公里时,如果包裹重量小于等于 2 千克,收费 base_far 元;如果重量大于 2 千克,超出 2 千克的部分每千克收费 extra_far 元。编写一个函数来计算包裹的快递费用,完善空白处代码。
def courier_fee(weight, distance, base_near, extra__near, base_far, extra_far):
if distance <= 1000:
​ if ① :
​ fee = base_near
​ else:
​ ②
​ fee = base_near + extra_charge
else:
​ if weight <= 2:
​ fee = ③
​ else:
​ ④
​ fee = base_far + extra_charge
return fee
\# 调用函数计算快递费用
result = courier_fee(5, 1500, 10, 3, 15, 5)
print(result)

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

根据题目描述,我们需要根据包裹的重量和寄送距离来计算快递费用。函数courier_fee接收包裹的重量(weight)、寄送距离(distance)、近距离基础费用(base_near)、近距离超重费用(extra_near)、远距离基础费用(base_far)和远距离超重费用(extra_far)作为参数。

  1. 当距离小于或等于1000公里时:
    • 如果包裹重量小于等于2千克,则只收取基础费用,赋值给fee。
    • 如果包裹重量大于2千克,需要计算超出的重量部分,每千克收费extra_near元,然后加上基础费用。
  2. 当距离大于1000公里时:
    • 如果包裹重量小于等于2千克,收取基础费用。
    • 如果包裹重量大于2千克,同样需要计算超出的重量部分,但这次每千克收费extra_far元,然后加上基础费用。

根据以上逻辑,我们可以完善空白处的代码。在第一个if语句中,判断包裹重量是否小于等于2千克,如果是,则直接赋值基础费用。在第二个if语句中,计算超出的重量部分的费用,并将其加到基础费用上。在第三个if语句中,判断距离是否大于1000公里,如果是,且包裹重量小于等于2千克,则直接赋值基础费用;否则,同样计算超出的重量部分的费用,但使用远距离的收费标准。最后返回计算得到的快递费用。

调用函数courier_fee(5, 1500, 10, 3, 15, 5)计算快递费用,并打印结果。

创作类型:
原创

本文链接:38.收费标准某快递公司对于不同重量的包裹和不同的寄送距离有不同的收费标准。该公司将寄送距离分为两个

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share