当前位置:首页 / 文章测试 / 复杂运费计算

复杂运费计算

开始打字练习

def calculate_shipping_cost(user_level, weight_kg, region, is_urgent=False):

"""

计算运费(模拟实际业务规则)

:param user_level: 用户等级 ("gold", "silver", "normal")

:param weight_kg: 商品重量(千克)

:param region: 配送地区 ("local", "domestic", "international")

:param is_urgent: 是否加急

:return: 运费金额(人民币)

"""

# 基础运费(根据地区)

base_cost = {

"local": 5.0,

"domestic": 12.0,

"international": 30.0

}.get(region, 20.0) # 默认国内标准

# 重量附加费:每超过1kg加收2元,不足1kg按1kg计

extra_weight = max(0, weight_kg - 1)

weight_fee = int(extra_weight) * 2 # 向上取整

# 加急附加费

urgent_fee = 10.0 if is_urgent else 0.0

# 用户等级折扣

discount_rate = {

"gold": 0.8,

"silver": 0.9,

"normal": 1.0

}.get(user_level, 1.0)

total = (base_cost + weight_fee + urgent_fee) * discount_rate

# 保留两位小数,且不低于最低收费

return max(round(total, 2), 5.0)

# 测试示例

print(calculate_shipping_cost("gold", 2.3, "domestic", True))

声明:以上文章均为用户自行发布,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。