day 15
This commit is contained in:
98
015/main.py
Normal file
98
015/main.py
Normal file
@ -0,0 +1,98 @@
|
||||
MENU = {
|
||||
"espresso": {
|
||||
"ingredients": {
|
||||
"water": 50,
|
||||
"coffee": 18,
|
||||
},
|
||||
"cost": 1.5,
|
||||
},
|
||||
"latte": {
|
||||
"ingredients": {
|
||||
"water": 200,
|
||||
"milk": 150,
|
||||
"coffee": 24,
|
||||
},
|
||||
"cost": 2.5,
|
||||
},
|
||||
"cappuccino": {
|
||||
"ingredients": {
|
||||
"water": 250,
|
||||
"milk": 100,
|
||||
"coffee": 24,
|
||||
},
|
||||
"cost": 3.0,
|
||||
}
|
||||
}
|
||||
|
||||
resources = {
|
||||
"water": 300,
|
||||
"milk": 200,
|
||||
"coffee": 100,
|
||||
"money": 0.0,
|
||||
}
|
||||
|
||||
b_is_on = True
|
||||
|
||||
def print_report():
|
||||
print(f"Water: {str(resources['water'])} ml")
|
||||
print(f"Milk: {str(resources['milk'])} ml")
|
||||
print(f"Coffe: {str(resources['coffee'])} ml")
|
||||
print(f"Money: ${str(resources['money'])}")
|
||||
|
||||
def check_resources(drink):
|
||||
for ingredient in MENU[drink]['ingredients']:
|
||||
if MENU[drink]['ingredients'][ingredient] > resources[ingredient]:
|
||||
print(f'Sorry there is not enough {ingredient}')
|
||||
return False
|
||||
return True
|
||||
|
||||
def collect_coins(drink):
|
||||
coins = {
|
||||
"quarters": 0.25,
|
||||
"dimes": 0.10,
|
||||
"nickels": 0.05,
|
||||
"pennies": 0.01,
|
||||
}
|
||||
print("Please insert coins.")
|
||||
|
||||
total_input = 0
|
||||
for coin in coins:
|
||||
coins_number = input(f"How many {coin}? ")
|
||||
total_input += int(coins_number) * coins[coin]
|
||||
|
||||
if total_input < MENU[drink]['cost']:
|
||||
print("Sorry that's not enough money. Money refunded.")
|
||||
return False
|
||||
else:
|
||||
if total_input > MENU[drink]['cost']:
|
||||
print(f"Here is ${total_input - MENU[drink]['cost']} in change.")
|
||||
resources['money'] = total_input + resources['money']
|
||||
return True
|
||||
|
||||
def make_drink(drink):
|
||||
for ingredient in MENU[drink]['ingredients']:
|
||||
resources[ingredient] = MENU[drink]['ingredients'][ingredient] - resources[ingredient]
|
||||
print(f"Here is your {drink} ☕️. Enjoy!")
|
||||
|
||||
def prepare_drink(drink):
|
||||
if drink not in MENU.keys():
|
||||
print("Invalid drink - Try again")
|
||||
return
|
||||
if not check_resources(drink):
|
||||
return
|
||||
|
||||
if not collect_coins(drink):
|
||||
return
|
||||
|
||||
make_drink(drink)
|
||||
|
||||
while b_is_on == True:
|
||||
choice = input('What would you like? (espresso/latte/cappuccino):')
|
||||
|
||||
match(choice):
|
||||
case "off":
|
||||
b_is_on = False
|
||||
case "report":
|
||||
print_report()
|
||||
case _:
|
||||
prepare_drink(choice)
|
||||
Reference in New Issue
Block a user