|
发表于 2023-3-24 20:05:30
|
显示全部楼层
这个问题可以通过整数运算来解决,不需要使用ceil函数。下面是一个使用Python编写的示例代码:
- def calculate_postage(weight, is_expedited):
- base_fee = 8
- overweight_fee = 0
- expedited_fee = 5 if is_expedited == 'y' else 0
- if weight > 1000:
- overweight_weight = weight - 1000
- overweight_fee = (overweight_weight + 499) // 500 * 4
- postage = base_fee + overweight_fee + expedited_fee
- return postage
- # 输入
- input_str = input()
- weight_str, is_expedited = input_str.split()
- weight = int(weight_str)
- # 计算邮费
- postage = calculate_postage(weight, is_expedited)
- # 输出
- print(postage)
复制代码
这个代码中,我们定义了一个calculate_postage函数,该函数接受重量和是否加急作为输入参数。
我们首先计算基本费用、超重费用和加急费用。对于超重费用的计算,我们使用整数除法//来向上取整,而不需要使用ceil函数。
最后,我们将这三个费用相加并返回邮费。 |
|