python 某商店出售某品牌运动鞋,每双定价250,采用如下促销手段:1双不打折:2双(含)到4双(含)打九点六折:5(含)到9双(含)打八点六折,10双(含)以上打 七点八折。编制一个函数,输入鞋的双数,输出需要的价格
时间: 2024-03-05 20:55:10 浏览: 66
下面是一个实现上述功能的函数`calculate_price`:
```python
def calculate_price(num):
if num <= 0:
return 0
elif num == 1:
return 250
elif num <= 4:
return round(num * 250 * 0.96)
elif num <= 9:
return round(num * 250 * 0.86)
else:
return round(num * 250 * 0.78)
```
该函数接受一个参数`num`,表示鞋的双数。函数首先检查`num`是否小于等于0,如果是,则返回价格0。如果`num`等于1,则返回定价250。否则,函数根据鞋的双数使用不同的促销折扣计算价格,并使用`round`函数将价格四舍五入到最接近的整数。
以下是对该函数的测试数据:
```python
print(calculate_price(1)) # 应该输出 250
print(calculate_price(2)) # 应该输出 480
print(calculate_price(3.5)) # 应该输出 846
print(calculate_price(8)) # 应该输出 1720
print(calculate_price(11)) # 应该输出 2145
```
第一行测试数据传递鞋的双数为1,预期输出结果为定价250。第二行测试数据传递鞋的双数为2,预期输出结果为打九点六折的价格480。第三行测试数据传递鞋的双数为3.5,预期输出结果为打八点六折的价格846。第四行测试数据传递鞋的双数为8,预期输出结果为打七点八折的价格1720。第五行测试数据传递鞋的双数为11,预期输出结果为打七点八折的价格2145。