
python如何编写折后价格
用户关注问题
我想用Python编写一个程序,输入原价和折扣,输出折后价格,应该怎么做?
用Python计算折后价格的基本方法
可以通过输入原价和折扣率,然后用公式 折后价格 = 原价 × 折扣率 来计算。例如,折扣率为0.8表示八折,代码实现如下:
original_price = float(input('请输入商品原价:'))
discount_rate = float(input('请输入折扣(如八折则输入0.8):'))
discounted_price = original_price * discount_rate
print('折后价格为:', discounted_price)
在编写计算折后价格的Python程序时,输入原价或者折扣可能不合法,如何处理?
输入有效性检查和异常处理
在用户输入时,应当判断输入是否为数字且折扣在合理范围内(一般在0到1之间)。可以用try-except捕获非数字异常,用条件判断折扣范围。例如:
try:
original_price = float(input('请输入商品原价:'))
discount_rate = float(input('请输入折扣(0-1之间):'))
if 0 < discount_rate <= 1 and original_price >= 0:
discounted_price = original_price * discount_rate
print('折后价格为:', discounted_price)
else:
print('请输入合理的原价和折扣')
except ValueError:
print('输入无效,请输入数字')
我有多个商品的原价和折扣信息,想批量计算折后价格,怎么实现?
通过循环和列表批量计算折后价格
可以把多个商品的原价和折扣放入列表或字典中,使用循环遍历并计算折后价格。例如:
products = [
{'name': '商品A', 'price': 100, 'discount': 0.9},
{'name': '商品B', 'price': 200, 'discount': 0.85},
{'name': '商品C', 'price': 150, 'discount': 0.8}
]
for product in products:
discounted_price = product['price'] * product['discount']
print(f"{product['name']}的折后价为:{discounted_price}")