完善代码:某超市促销,抽取式面纸每件 23 元,1 件不打折,2 件到 4 件打 8 折,5 件到 8 件打 7 折,9 件以上打 5 折。从键盘输入购买数量,屏幕输出价格总额(保 留整数,非四舍五入)。
时间: 2024-10-13 20:05:46 浏览: 18
好的,我们可以编写如下的 Python 代码来计算购买数量对应的折扣价,并输出总价:
```python
def calculate_total(buying_num):
if buying_num <= 0:
print("请输入一个正整数。")
return
price_per_item = 23
discount_rates = {
1: 1, # 1件不打折
2: 0.8, # 2件到4件打8折
(5, 8): 0.7, # 5件到8件打7折
9: 0.5 # 9件以上打5折
}
total_price = buying_num * price_per_item
for min_val, max_val in discount_rates.keys():
if min_val <= buying_num <= max_val:
total_price *= discount_rates[min_val, max_val]
break
# 四舍五入到最接近的整数并输出结果
total_price = round(total_price)
print(f"购买 {buying_num} 件的价格总额为:{total_price}元。")
# 获取用户输入并计算
try:
buying_num = int(input("请输入购买的数量:"))
calculate_total(buying_num)
except ValueError:
print("无效输入,请输入一个整数。")
```
运行这个程序,它会根据输入的购买数量来计算折扣后的总价。如果输入的是非正整数,程序会提示重新输入。
阅读全文