测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A26002. 收费标准某快递公司对于不同重量的包裹和不同的寄送距离有不同的收费标准。该公司将寄送距离分为两个区间:在距离 distance 小于或等于 1000 公里时,如果包裹重量weight小于等于 2 千克,收费 base_near 元;如果重量大于 2 千克,超出 2 千克的部分每千克收费 extra_near 元。在距离大于 1000 公里时,如果包裹重量小于等于 2 千克,收费 base_far …

填空题 较难

题目描述

收费标准

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

在距离 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)

参考答案

def courier_fee(weight, distance, base_near, extra_near, base_far, extra_far): if distance <= 1000: if weight <= 2: fee = base_near else: extra_charge = (weight-2) * extra_near fee = base_near + extra_charge else: if weight <= 2: fee = base_far else: extra_charge = (weight - 2) * extra_far fee = base_far + extra_charge return fee # 调用函数计算快递费用 result = courier_fee(5, 1500, 10, 3, 15, 5) print(result)

答案解析

评分标准:

(1)weight <= 2(或等效答案);  (2分)

(2)extra_charge = (weight-2) * extra_near(或等效答案); (4分)

(3)base_far(或等效答案);   (2分)

(4)extra_charge = (weight - 2) * extra_far (或等效答案)。(4分)

上一题 下一题