Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. import decimal
  2.  
  3. decimal.getcontext().prec=2
  4.  
  5. class drobne:
  6. monety={"5zl":50, "2zl":50, "1zl":50, "0.5zl":50, "0.2zl":50,
  7. "0.1zl":10}
  8.  
  9. class napoje:
  10. cola=50
  11. pepsi=50
  12. sprite=50
  13. fanta=50
  14. mirinda=50
  15.  
  16. class automat(napoje,drobne):
  17. def greetings(self):
  18. print("Witamy w naszym systemie wydawania napojów chłodzacych\n")
  19.  
  20. def printCoinList(self):
  21. print("\nWypisuje liczbę monet\n")
  22. print(automat.monety, "\n")
  23. def printDrinkList(self):
  24. print("\nCola: ", self.cola, "Pepsi: ",self.pepsi, "Sprite: \
  25. ", self.sprite, "Fanta: ", self.fanta, "Mirinda: ", self.mirinda, "\n")
  26.  
  27. def chooseDrink(self):
  28. print("Cena napoju wynosi : 2zl")
  29. print("Prosze o wybranie cyfry odpowiadajacej napojowi\n\
  30. 1 Cola\n\
  31. 2 Pepsi\n\
  32. 3 Sprite\n\
  33. 4 Fanta\n\
  34. 5 Mirinda")
  35. wybor=input()
  36. return wybor
  37.  
  38. def getMoney(self):
  39. kredyt=0
  40. print("Prosze o wrzucenie pieniedzy za napoj")
  41. print("1. 5zl \n\
  42. 2. 2zl \n\
  43. 3. 1zl \n\
  44. 4. 50gr \n\
  45. 5. 20gr \n\
  46. 6. 10gr")
  47. while kredyt<2:
  48. userChoice=input()
  49. if userChoice=="1":
  50. kredyt+=5
  51. self.monetizer("5zl")
  52. if userChoice=="2":
  53. kredyt+=2
  54. print("Kredyt wynosi", kredyt)
  55. self.monetizer("2zl")
  56. if userChoice=="3":
  57. kredyt+=1
  58. print("Kredyt wynosi", kredyt)
  59. self.monetizer("1zl")
  60. if userChoice=="4":
  61. kredyt+=0.5
  62. print("Kredyt wynosi", kredyt)
  63. self.monetizer("0.5zl")
  64. if userChoice=="5":
  65. kredyt+=0.2
  66. print("Kredyt wynosi", kredyt)
  67. self.monetizer("0.2zl")
  68. if userChoice=="6":
  69. kredyt+=0.1
  70. print("Kredyt wynosi", kredyt)
  71. self.monetizer("0.1zl")
  72. return decimal.Decimal(kredyt)
  73.  
  74. def getReszta(self, userReszta):
  75.  
  76.  
  77. for key,val in self.monety.items():
  78. if decimal.Decimal(key.strip('zl'))==userReszta:
  79. self.monety[key]-=1
  80. return 1
  81. #GDY ZAMIAST RETURN 1 JEST Raise SystemExit , to działa. O co chodzi ?
  82.  
  83. for key,val in self.monety.items():
  84. if decimal.Decimal(key.strip('zl'))<userReszta:
  85. self.monety[key]-=1
  86. userReszta-=decimal.Decimal(key.strip('zl'))
  87. self.getReszta(userReszta)
  88.  
  89. def monetizer(self, nominal):
  90. for key,val in self.monety.items():
  91. if key==nominal:
  92. self.monety[key]+=1
  93.  
  94. def stockReducer(self, drinkNumber):
  95. if drinkNumber=="1":
  96. self.cola-=1
  97. if drinkNumber=="2":
  98. self.pepsi-=1
  99. if drinkNumber=="3":
  100. self.sprite-=1
  101. if drinkNumber=="4":
  102. self.fanta-=1
  103. elif drinkNumber=="5":
  104. self.mirinda-=1
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111. napoje=automat()
  112.  
  113. napoje.greetings()
  114.  
  115. picie=napoje.chooseDrink()
  116. reszta=napoje.getMoney()-2
  117.  
  118.  
  119. reszta=decimal.Decimal(reszta)
  120. print("Reszta wynosi", reszta)
  121. napoje.printCoinList()
  122. napoje.getReszta(reszta)
  123. napoje.printCoinList()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement