python模拟自动饮料机代码
时间: 2023-09-07 11:05:25 浏览: 272
自动售饮料机代码
### 回答1:
下面是一个简单的 Python 代码实现自动饮料机功能的示例:
```python
# 自动饮料机
# 饮料清单
drinks = {
"可乐": 3.0,
"雪碧": 3.0,
"奶茶": 5.0,
"绿茶": 4.0,
"红茶": 4.0,
"咖啡": 7.0
}
# 打印饮料清单
def print_drinks():
print("==== 饮 料 清 单 ====")
for drink, price in drinks.items():
print("{} \t ¥{}".format(drink, price))
print("=====================")
# 选择饮料
def select_drink():
while True:
choice = input("请选择饮料:")
if choice in drinks:
return choice
else:
print("抱歉,没有这种饮料,请重新选择。")
# 投币
def insert_coin():
while True:
coin = input("请投入硬币(1元、5角、1角):")
if coin in ["1", "0.5", "0.1"]:
return float(coin)
else:
print("无法识别的硬币,请重新投币。")
# 出饮料
def dispense_drink(drink):
print("正在出饮料,请稍等...")
print("您得到了一杯{}。".format(drink))
# 计算找零
def calculate_change(price, coin):
change = coin - price
if change > 0:
print("找零:¥{}".format(change))
else:
print("请取走您的硬币。")
# 主程序
def main():
print_drinks()
drink = select_drink()
price = drinks[drink]
coin = insert_coin()
if coin >= price:
dispense_drink(drink)
calculate_change(price, coin)
else:
print("您投入的金额不足,请取走您的硬币。")
# 运行主程序
main()
```
代码中定义了一个饮料清单(`drinks`),包含多种饮料及其价格。主程序通过调用不同的函数实现了选择饮料、投币、出饮料和计算找零等功能。在运行主程序时,用户可以根据提示进行操作,最终得到自己所选饮料并获得找零。
### 回答2:
自动饮料机是一种通过按键选择、投币、售卖饮料等功能来提供自动化服务的机器。下面是一个简单的Python代码来模拟自动饮料机的功能:
```python
class BeverageMachine:
def __init__(self):
self.menu = {
'1': {'name': '可乐', 'price': 2},
'2': {'name': '雪碧', 'price': 2},
'3': {'name': '矿泉水', 'price': 1.5}
}
self.total_money = 0
def display_menu(self):
print('饮料机菜单:')
for key, value in self.menu.items():
print(f'{key}. {value["name"]}: {value["price"]}元')
print('-------------------------')
def select_product(self):
while True:
choice = input('请选择饮料(输入对应编号):')
if choice in self.menu:
product = self.menu[choice]
if self.total_money >= product['price']:
self.total_money -= product['price']
print(f'您选择了{product["name"]}, 找零{self.total_money}元')
else:
print('金额不足,请投入足够的金额')
break
else:
print('输入无效,请重新选择')
def insert_coin(self):
coin = float(input('请投币:'))
if coin > 0:
self.total_money += coin
def run(self):
self.display_menu()
self.insert_coin()
self.select_product()
if __name__ == '__main__':
machine = BeverageMachine()
machine.run()
```
这段代码创建了一个名为BeverageMachine的类,其中包含了菜单和总金额等属性,以及展示菜单、选择饮料、投币等相关方法。在主程序中,实例化了BeverageMachine类的对象machine,并调用run方法来模拟整个自动饮料机的运行过程。
通过输入编号选择饮料,并通过投币来支付饮料的价格,在投币金额足够时售卖饮料,并返回找零金额。如果输入的编号或金额无效,则会有相应的提示信息。
### 回答3:
以下是一个用Python编写的简单的自动饮料机模拟代码:
```python
# 定义饮料机类
class BeverageMachine:
def __init__(self):
self.drinks = {"1": {"name": "可乐", "price": 2},
"2": {"name": "雪碧", "price": 2.5},
"3": {"name": "果汁", "price": 3}}
self.balance = 0
# 显示菜单
def display_menu(self):
print("欢迎使用自动饮料机!")
print("请选择您要购买的饮料:")
for key, value in self.drinks.items():
print(f"{key}. {value['name']}(¥{value['price']})")
print("0. 退出")
# 插入金额
def insert_money(self, amount):
self.balance += amount
# 购买饮料
def buy_drink(self, selection):
if selection in self.drinks.keys():
if self.balance >= self.drinks[selection]["price"]:
item = self.drinks[selection]["name"]
price = self.drinks[selection]["price"]
self.balance -= price
print(f"购买成功!您购买的是【{item}】,找零:¥{self.balance}")
else:
print("余额不足,请继续投币!")
elif selection == "0":
print("退出购买。")
else:
print("请选择正确的饮料编号!")
# 实例化饮料机对象
machine = BeverageMachine()
# 显示菜单
machine.display_menu()
# 开始购买
while True:
choice = input("请输入您的选择:")
machine.buy_drink(choice)
if choice == "0":
break
```
注意:此代码只是一个简单的模拟,没有实际的硬件交互,仅用于演示。实际的自动饮料机代码可能需要更复杂的逻辑和用户界面。
阅读全文