python自动售货机_自动售货机程序(计算必须插入的数量等)
时间: 2024-02-22 12:00:32 浏览: 105
好的,关于这个问题,我可以给你一些思路和代码示例。在编写自动售货机程序时,需要实现以下几个功能:
1. 显示商品信息和价格
2. 接收用户投入的硬币或纸币,并计算出已投入的总金额
3. 计算用户需要再投入的金额,如果已投入的金额不足以购买商品,则提示用户继续投币
4. 如果已投入的金额足够购买商品,则计算出需要找零的金额,并输出找零信息
5. 更新商品库存数量,并输出购买成功信息
下面是一个简单的 Python 自动售货机程序示例:
```
# 商品信息和价格
items = {'可乐': 3, '雪碧': 2, '矿泉水': 1}
# 投币面额
coins = [1, 2, 5, 10]
# 商品库存数量
stock = {'可乐': 5, '雪碧': 3, '矿泉水': 10}
# 显示商品信息和价格
for item, price in items.items():
print(item, ':', price)
# 接收用户投入的硬币或纸币,并计算出已投入的总金额
total = 0
while True:
coin = input('请投入硬币或纸币(输入\'q\'结束投币):')
if coin == 'q':
break
coin = int(coin)
if coin not in coins:
print('不支持的面额,请投入 1, 2, 5, 10 元的硬币或纸币')
continue
total += coin
print('已投入金额:', total)
# 计算用户需要再投入的金额
for item, price in items.items():
if total < price:
print('请继续投币,还需投入', price - total, '元')
break
else:
# 如果已投入的金额足够购买商品,则计算出需要找零的金额,并输出找零信息
change = total - price
print('购买成功,找零', change, '元')
# 更新商品库存数量
stock[item] -= 1
print('商品', item, '剩余数量:', stock[item])
```
在这个示例程序中,我们使用了一个字典来存储商品信息和价格,一个列表来存储投币面额,一个字典来存储商品库存数量。程序首先会显示商品信息和价格,然后进入一个循环接收用户投币,直到用户输入 'q' 退出。每次投币时,程序会检查投币面额是否合法,如果不合法则提示用户重新投币。投币结束后,程序会计算已投入的总金额,并检查是否足够购买任何一种商品。如果不足,则提示用户继续投币;如果足够,则计算出需要找零的金额,并输出找零信息。最后,程序会更新商品库存数量,并输出购买成功信息。
当然,这只是一个最基本的示例程序,实际的自动售货机程序还需要考虑更复杂的情况,比如多种商品的组合购买、找零面额的选择等等。如果你有具体的需求,可以详细描述一下,我可以帮你进一步完善程序。
阅读全文