在商店买东西时,可能会遇到这样的情况:挑选完商品进行结算时,商品的总价可能会带有0.1元或0.2元的零头,商店老板在收取现金时经常会将这些零头抹去。编写程序自定义三种商品的价格并计算总金额。模拟实现超市收银抹零行为。
时间: 2024-10-17 16:09:51 浏览: 39
简约式图文商品挑选结算微商城购物车程序源码.zip
在Python中,我们可以创建一个简单的类来表示商品,然后使用列表来存储商品价格,并在结算时检查是否有零头,如果有,则将其舍去。这里有一个简单的例子:
```python
class Product:
def __init__(self, name, price):
self.name = name
self.price = round(price) # 将价格四舍五入到最接近的整数
# 创建几种商品实例
items = [
Product("Apple", 3.5),
Product("Banana", 1.8),
Product("Orange", 2.75)
]
def total_amount(items):
total = sum(item.price for item in items)
return total
# 计算总金额
total = total_amount(items)
print(f"Total amount before rounding: {total}")
# 模拟抹零行为(如果总金额有小数部分)
rounded_total = round(total)
if rounded_total == total:
print(f"Total amount after rounding to nearest whole number: {rounded_total}")
else:
print(f"Total amount after rounding: {rounded_total} (with no change since all prices were already integers)")
```
在这个例子中,我们首先定义了一个`Product`类,它的价格属性已经被设置为整数。然后我们创建了几种商品实例,并计算它们的总价。在计算结果后,我们再次对总价取整,看看是否还有小数部分。
阅读全文