自动贩卖机的编程可以通过多种编程语言实现,例如Python、Java等。下面我将提供一个使用Python编写的简单自动贩卖机程序的示例代码,该代码实现了基本的选择商品、投币和找零功能。你可以根据实际需求进行扩展和修改。
```python
商品信息字典,键为商品编号,值为包含商品名称和价格的字典
goods = {
"1": {"name": "可乐", "price": 3},
"2": {"name": "薯片", "price": 5},
"3": {"name": "巧克力", "price": 8}
}
记录投币金额
total_money = 0
def display_goods():
"""显示商品信息"""
print("商品列表:")
for code, info in goods.items():
print(f"{code}: {info['name']}, 价格: {info['price']} 元")
def insert_money():
"""投币功能"""
global total_money
while True:
try:
money = float(input("请投入硬币或纸币(输入金额,输入负数或非数字结束投币): "))
if money < 0:
break
total_money += money
except ValueError:
print("请输入有效的金额")
def select_product(product_code):
"""选择商品"""
if product_code in goods:
product = goods[product_code]
if product["price"] <= total_money:
total_money -= product["price"]
return product["name"]
else:
return "余额不足"
else:
return "商品不存在"
def main():
display_goods()
insert_money()
while True:
choice = input("请选择商品编号(输入Q结束): ")
if choice.upper() == 'Q':
break
result = select_product(choice)
if result == "商品不存在":
print("商品编号不存在")
elif result == "余额不足":
print("余额不足,无法购买商品")
else:
print(f"您购买了 {result},余额剩余: {total_money} 元")
if __name__ == "__main__":
main()
```
代码说明:
商品信息字典:
定义了三种商品及其价格和编号。
投币功能:
通过`insert_money`函数实现,用户可以输入金额,程序会累加投币金额。
选择商品:
通过`select_product`函数实现,用户输入商品编号后,程序会检查余额是否足够并扣款。
主循环:
在`main`函数中,首先显示商品信息,然后进入投币和选择商品的循环,直到用户选择结束。
你可以根据实际需求扩展这个示例,例如增加更多商品、实现多种支付方式、记录购买历史等。