设一商品的单价为10元,一次性购买50个以上,打9.5折;一次性购买100个以上,打9折;一次性购买200个以上,打8.5折。编制程序,从键盘上输入需购买的商品数量,输出总的货价。 要求分别使用if语句和switch语句实现。
时间: 2024-10-08 12:02:42 浏览: 16
要编写一个程序来计算折扣后的总价,我们可以使用两种方法:if语句和switch语句。这里以商品单价为10元为例,按照给定的折扣条件。
**使用if语句实现:**
```python
# 商品单价
unit_price = 10
def calculate_total(num_items):
total = unit_price * num_items
if num_items >= 50 and num_items < 100:
discount = 0.95
elif num_items >= 100 and num_items < 200:
discount = 0.9
elif num_items >= 200:
discount = 0.85
else:
discount = 1 # 如果数量小于50,不打折
discounted_total = total * discount
return discounted_total
num_items = int(input("请输入购买的商品数量:"))
discounted_price = calculate_total(num_items)
print(f"折扣后总价格:{discounted_price}元")
```
**使用switch语句实现(Python中没有原生的switch语句,可以使用字典模拟):**
```python
# 商品单价
unit_price = 10
def calculate_total(num_items):
price_dict = {
50: 0.95,
100: 0.9,
200: 0.85,
"default": 1 # 对于其他情况,默认不打折
}
discount = price_dict.get(num_items, price_dict["default"])
total = unit_price * num_items
discounted_total = total * discount
return discounted_total
num_items = int(input("请输入购买的商品数量:"))
discounted_price = calculate_total(num_items)
print(f"折扣后总价格:{discounted_price}元")
```
阅读全文