Advertisement
Venerve

Untitled

Mar 23rd, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.75 KB | None | 0 0
  1. def main_menu(cash_check, vending_machine, inserted_money, check_change):
  2.     print("1.Insert a banknote \n"
  3.           "2.Show available products \n"
  4.           "3.Select a product \n"
  5.           "4.Get the change \n")
  6.     n = int(input("Input a figure of operation: "))
  7.     if n == 1:
  8.         cash_check, inserted_money = inserting(cash_check, inserted_money)
  9.     if n == 2:
  10.         available_product_present(vending_machine)
  11.     if n == 3:
  12.         cash_check, vending_machine, inserted_money = available_products_cash(cash_check, vending_machine, inserted_money)
  13.     if n == 4:
  14.         inserted_money, cash_check = get_change(inserted_money, cash_check, check_change)
  15.     return cash_check, vending_machine, inserted_money, check_change
  16.  
  17.  
  18. def inserting(check_cash, money):
  19.     banknote = int(input("Please, insert a banknote "))
  20.     if banknote == 50:
  21.         check_cash.insert(FIFTY, 50)
  22.         money += 50
  23.     elif banknote == 100:
  24.         check_cash.insert(HUNDRED, 100)
  25.         money += 100
  26.     elif banknote == 200:
  27.         check_cash.insert(TWO_HUNDRED, 200)
  28.         money += 200
  29.     elif banknote == 500:
  30.         check_cash.insert(FIVE_HUNDRED, 500)
  31.         money += 500
  32.     else:
  33.         print("Invalid banknote. Please, try again")
  34.     return check_cash, money
  35.  
  36.  
  37. def available_product_present(vending_machine):
  38.     for it in range(len(vending_machine[NAME])):
  39.         if vending_machine[QUANTITY][it] > 0:
  40.             print(vending_machine[NAME][it], end=' ')
  41.             print(vending_machine[PRICE][it], end=' ')
  42.             print(vending_machine[QUANTITY][it])
  43.  
  44.  
  45. # def is_change_available(sum, available_coins):
  46.  
  47.  
  48. def available_products_cash(banknotes_check, vending_machine, money):
  49.     print("available_products_cash.money =", money)
  50.     if money == 0:
  51.         print("You haven't inserted a banknote. Try again")
  52.     else:
  53.         for item in range(len(vending_machine[PRICE])):
  54.             if money >= vending_machine[PRICE][item] and vending_machine[QUANTITY][item] > 0:
  55.                 print(f"Number of {vending_machine[NAME][item]} is {item}")
  56.         choice = int(input("Please, input the number of chosen product: "))
  57.         if choice != " ":
  58.             print(vending_machine[NAME][choice], vending_machine[PRICE][choice], vending_machine[QUANTITY][choice],
  59.                   end=' ')
  60.             print()
  61.             vending_machine[QUANTITY][choice] -= 1
  62.             money -= vending_machine[PRICE][choice]
  63.     return banknotes_check, vending_machine, money
  64.  
  65.  
  66. def get_change(money, banknotes_check, check_change):
  67.     if money == 0:
  68.         print("You haven't inserted a banknote. Try again")
  69.     else:
  70.         checking = []
  71.         for i in range(len(check_change)):
  72.             if check_change[i] != 0:
  73.                 checking.append(True)
  74.         if checking == [True, True, True, True]:
  75.             print(
  76.                 f"Ten-coin - {money // 10}, five-coin - {money % 10 // 5}, two-coin {money % 5 // 2}, one-coin "
  77.                 f"{money % 1}")
  78.             money = 0
  79.             banknotes_check = [0, 0, 0, 0]
  80.         elif check_change[TEN] == 0:
  81.             print(
  82.                 f"There are not left ten-coins, five-coin - {money % 10 // 5}, two-coin {money % 5 // 2}, one-coin "
  83.                 f"{money % 1}")
  84.             money = 0
  85.             banknotes_check = [0, 0, 0, 0]
  86.     return money, banknotes_check
  87.  
  88.  
  89. machine = [["Milkshake", "TikTak", "Oreo", "Mars", "It"], [90, 50, 120, 75, 300], [15, 15, 15, 15, 15]]
  90. NAME, PRICE, QUANTITY = range(3)
  91. cash = [0, 0, 0, 0]
  92. FIFTY, HUNDRED, TWO_HUNDRED, FIVE_HUNDRED = range(4)
  93. change = [400, 400, 400, 400]
  94. TEN, FIVE, TWO, ONE = range(4)
  95. sum_of_money = 0
  96.  
  97. while True:
  98.     cash, machine, sum_of_money, change = main_menu(cash, machine, sum_of_money, change)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement