```python def calculate_postage(w, u): # 定义基本费用 base_cost = 8 # 判断重量是否超过1000克 if w > 1000: extra_weight = w - 1000 if extra_weight % 500 == 0: extra_cost = (extra_weight // 500) * 4 else: extra_cost = ((extra_weight // 500) + 1) * 4 cost = base_cost + extra_cost else: cost = base_cost # 判断是否加急 if u.lower() == 'y': cost += 5 return cost # 示例调用 w = 1500 # 邮件重量 u = 'y' # 是否加急 print(f"邮资为: {calculate_postage(w, u)}元") ``` 额外需要注意的地方: 1. 输入的邮件重量需要确保为正数,避免出现负数导致逻辑错误。 2. 用户输入的选择加急字符应当做容错处理,例如大小写不敏感或者非法输入提示。 3. 对于重量计算时,应考虑浮点数精度问题,确保计算准确性。 [2024-12-20 20:08:01 | AI写代码神器 | 278点数解答]