Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def main_menu(cash_check, vending_machine, inserted_money):
- print("1.Insert a banknote \n"
- "2.Show available products \n"
- "3.Select a product \n"
- "4.Get the change \n")
- n = int(input("Input a figure of operation: "))
- if n == 1:
- inserting(cash_check, inserted_money)
- if n == 2:
- available_product_present(vending_machine)
- if n == 3:
- available_products_cash(cash_check, vending_machine, inserted_money)
- if n == 4:
- get_change(inserted_money, cash_check)
- def inserting(check_cash, money):
- banknote = int(input("Please, insert a banknote "))
- if banknote == 50:
- check_cash.insert(FIFTY, 50)
- money += 50
- elif banknote == 100:
- check_cash.insert(HUNDRED, 100)
- money += 100
- elif banknote == 200:
- check_cash.insert(TWO_HUNDRED, 200)
- money += 200
- elif banknote == 500:
- check_cash.insert(FIVE_HUNDRED, 500)
- money += 500
- else:
- print("Invalid banknote. Please, try again")
- return check_cash, money
- def available_product_present(vending_machine):
- for it in range(len(vending_machine[NAME])):
- if vending_machine[QUANTITY][it] > 0:
- print(vending_machine[NAME][it], end=' ')
- print(vending_machine[PRICE][it], end=' ')
- print(vending_machine[QUANTITY][it])
- # def is_change_available(sum, available_coins):
- def available_products_cash(banknotes_check, vending_machine, money):
- if money == 0:
- print("You haven't inserted a banknote. Try again")
- else:
- for item in range(len(vending_machine[PRICE])):
- if money >= vending_machine[PRICE][item] and vending_machine[QUANTITY][item] > 0:
- print(f"Number of {vending_machine[NAME][item]} is {item}")
- choice = int(input("Please, input the number of chosen product: "))
- if choice != " ":
- print(vending_machine[NAME][choice], vending_machine[PRICE][choice], vending_machine[QUANTITY][choice],
- end=' ')
- vending_machineending_machine[QUANTITY][choice] -= 1
- money -= vending_machine[PRICE][choice]
- return banknotes_check, vending_machine, money
- def get_change(money, banknotes_check, check_change, checking):
- for i in range(len(banknotes_check)):
- money += banknotes_check[i]
- if money == 0:
- print("You haven't inserted a banknote. Try again")
- else:
- for i in range(len(check_change)):
- if check_change[i] != 0:
- checking.append(True)
- if checking == [True, True, True, True]:
- print(f"Ten-coin - {money // 10}, five-coin - {money % 10 // 5}, two-coin {money % 5 // 2}, one-coin {money % 1}")
- money = 0
- banknotes_check = [0, 0, 0, 0]
- elif check_change[TEN] == 0:
- print(
- f"There are not left ten-coins, five-coin - {money % 10 // 5}, two-coin {money % 5 // 2}, one-coin "
- f"{money % 1}")
- money = 0
- banknotes_check = [0, 0, 0, 0]
- return money, banknotes_check
- machine = [["Milkshake", "TikTak", "Oreo", "Mars", "It"], [90, 50, 120, 75, 300], [15, 15, 15, 15, 15]]
- NAME, PRICE, QUANTITY = range(3)
- cash = [0, 0, 0, 0]
- FIFTY, HUNDRED, TWO_HUNDRED, FIVE_HUNDRED = range(4)
- change = [400, 400, 400, 400]
- TEN, FIVE, TWO, ONE = range(4)
- sum_of_money = 0
- while True:
- main_menu(cash, machine, sum_of_money)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement