设计一个处理单价为5角钱的饮料的自动售货机程序,相应规格说明如下: 若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。(每次只投入一个硬币,只押下一种饮料的按钮) 如投入5角的硬币,按下按钮后,总有饮料送出。 若售货机没有零钱找,则一个显示〖零钱找完〗的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。 若有零钱找,则显示〖零钱找完〗的红灯不会亮,若投入 1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币的代码
时间: 2024-03-13 10:44:36 浏览: 260
以下是一个处理单价为5角钱的饮料的自动售货机程序,实现了相应规格说明:
```python
change = 0 # 零钱数量,初始为0
def buy_drink(drink):
global change # 使用全局变量
if change < 5: # 如果没有5角钱零钱,需要找零
print("零钱找完")
return
if drink == "橙汁":
print("送出橙汁")
elif drink == "啤酒":
print("送出啤酒")
change -= 5 # 5角钱零钱数量减1
def insert_coin(coin):
global change # 使用全局变量
if coin == 0.5 or coin == 1:
change += 5 # 投入5角钱或1元钱,零钱数量加1
else:
print("不支持此种硬币")
return
return True
def main():
while True:
coin = float(input("请投入5角或1元硬币:"))
if not insert_coin(coin):
continue
drink = input("请选择饮料:橙汁/啤酒")
buy_drink(drink)
if change == 0:
print("零钱找完")
return
```
使用时,可以通过调用`main()`函数启动自动售货机程序,程序会循环等待用户投入硬币和选择饮料,如果没有零钱找,则红灯亮,需要投入1元钱硬币。如果有零钱找,则红灯不亮,投入1元钱硬币后能够找回5角钱硬币,同时送出饮料。
阅读全文