运输公司对所运货物实行分段计费。对于重量为w 的货物,每千米每吨基本运费为p,折扣为d,运输里程为m,当里程处于不同里程阶段s时,折扣不同,如下表,每阶段运费f的计算公式为:f=p*w*s*(1-d)。设计程序,当输入p、w和m后,计算总运费f。
时间: 2024-10-10 20:05:31 浏览: 78
这是一个涉及条件判断和数学计算的问题。首先,我们需要定义一段代码来处理不同阶段的运费折扣。假设我们有以下几个阶段:
1. 0-500公里:无折扣(d = 0)
2. 501-1000公里:9折(d = 0.1)
3. 1001-2000公里:8折(d = 0.2)
4. ...以此类推
根据提供的规则,我们可以编写一个函数来计算总运费:
```python
def calculate_total_fee(p, w, m):
# 定义阶段及其对应的折扣
stages = [(0, 500, 0), (501, 1000, 0.1), (1001, 2000, 0.2)] # 可以添加更多阶段
total_fee = 0
for s_min, s_max, d in stages:
if m >= s_min and (s_max == float('inf') or m < s_max): # 如果在当前阶段范围内
f = p * w * s_max * (1 - d)
total_fee += f
m -= s_max # 更新已行驶的公里数
if m == 0: # 当达到下一阶段的上限或结束旅程
break
return total_fee
# 示例输入
p = 10 # 每吨每公里的基本费用
w = 2 # 货物重量
m = 750 # 运输里程
# 计算并打印总运费
total_fee = calculate_total_fee(p, w, m)
print(f"总运费为:{total_fee}元")
```
用户可以输入基本运费率、货物重量和运输里程来获取总运费。
阅读全文