假设商场对某类商品进行促销,一件商品9折,二件商品8折,3件以上7折。编写一个程序,能够从控制台录入商品购买的数量和单价(第一参数为购买数量,第二参数为商品单价),程序能够确认顾客能得到的折扣,并计算出总价,运行效果如下图所示。 请分别用if嵌套和switch分支完成
时间: 2024-11-10 22:25:30 浏览: 27
以下是使用Python编写的一个简单示例,通过if嵌套和switch分支结构分别实现了这个功能:
**使用if嵌套**
```python
def calculate_total_with_if(n, price):
if n == 1:
discount = 0.9
elif n == 2:
discount = 0.8
else:
discount = 0.7
total = n * price * discount
return f"购买{n}件商品,单价{price}元,折扣后总金额为{total:.2f}元"
# 示例运行
n = int(input("请输入购买数量:"))
price = float(input("请输入商品单价:"))
print(calculate_total_with_if(n, price))
```
**使用switch分支 (这里假设Python不支持switch关键字,我们可以使用字典映射实现类似功能)**
```python
def calculate_total_with_dict(n, price):
discounts = {
1: 0.9,
2: 0.8,
3: 0.7,
}
discount = discounts.get(n, 0.7)
total = n * price * discount
return f"购买{n}件商品,单价{price}元,折扣后总金额为{total:.2f}元"
# 示例运行
n = int(input("请输入购买数量:"))
price = float(input("请输入商品单价:"))
print(calculate_total_with_dict(n, price))
```
两个版本都可以满足你的需求,根据你的项目环境和个人喜好选择适合的方式。记得在实际应用中处理可能出现的非法输入,如非数字的购买数量。
阅读全文
相关推荐












