Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.84 KB | None | 0 0
  1. # zunanji moduli
  2. import json
  3. from decimal import Decimal
  4.  
  5.  
  6. # moje funkcije, definiramo jih vnaprej
  7. def nadaljujem():
  8. is_naprej = "d"
  9. is_naprej = input("Nadaljujemo d/n ?: ")
  10. if is_naprej == "d":
  11. return True
  12. else:
  13. return False
  14.  
  15.  
  16. def izpis_enizdelek():
  17. # formatiramo variable na dve decimalki,
  18. # da ne dobimo float recimo 2.000000000000003
  19. dizracun_B = round(Decimal(izracun_B),2)
  20. dizracun_OH = round(Decimal(izracun_OH),2)
  21. dizracun_M = round(Decimal(izracun_M),2)
  22.  
  23. # izpis
  24. print('') # empty line
  25. print("IZDELEK: " + ime_izdelka + " " + "\nKOLIČINA: " + str(kolicina) + "x")
  26. print("B = " + str(dizracun_B) + " g")
  27. print("OH = " + str(dizracun_OH) + " g")
  28. print("M = " + str(dizracun_M) + " g")
  29. print('') # empty line
  30.  
  31.  
  32. # ----------------------------------------
  33. # hranilne vrednosti
  34. # to bi kasneje lahko dali v stalno datoteko ali bazo podatkov
  35.  
  36. jajca_1kom_B = 6.8
  37. jajca_1kom_OH = 0.4
  38. jajca_1kom_M = 5.9
  39.  
  40. banana_1kom_B = 1.2
  41. banana_1kom_OH = 21.1
  42. banana_1kom_M = 0.3
  43.  
  44. whey_100g_B = 70
  45. whey_100g_OH = 12.3
  46. whey_100g_M = 6.3
  47.  
  48. mleko_100g_B = 3.3
  49. mleko_100g_OH = 4.6
  50. mleko_100g_M = 3.5
  51.  
  52. mandlji_100g_B = 21.1
  53. mandlji_100g_OH = 21.6
  54. mandlji_100g_M = 52.1
  55.  
  56. lesniki_100g_B = 15
  57. lesniki_100g_OH = 16.7
  58. lesniki_100g_M = 60.7
  59.  
  60. krompir_100g_B = 2.1
  61. krompir_100g_OH = 20.8
  62. krompir_100g_M = 0.1
  63.  
  64. riz_100g_B = 3.3
  65. riz_100g_OH = 34.3
  66. riz_100g_M = 0.5
  67.  
  68. piscanec_100g_B = 23
  69. piscanec_100g_OH = 0
  70. piscanec_100g_M = 1.3
  71.  
  72. skuta_100g_B = 14
  73. skuta_100g_OH = 3
  74. skuta_100g_M = 2.5
  75.  
  76. kosmici_100g_B = 13.5
  77. kosmici_100g_OH = 58.7
  78. kosmici_100g_M = 7
  79.  
  80. tuna_konzerva_1kom_B = 8.3
  81. tuna_konzerva_1kom_OH = 0
  82. tuna_konzerva_1kom_M = 18.7
  83.  
  84. ananas_100g_B = 0
  85. ananas_100g_OH = 12
  86. ananas_100g_M = 1
  87.  
  88. melona_100g_B = 0.8
  89. melona_100g_OH = 8.2
  90. melona_100g_M = 0.2
  91.  
  92. smoothie_1_B = 44.3
  93. smoothie_1_OH = 63.8
  94. smoothie_1_M = 10.8
  95.  
  96. smoothie_2_B = 37.5
  97. smoothie_2_OH = 37.5
  98. smoothie_2_M = 11.6
  99.  
  100. # sporočimo uporabniku, za kaj gre
  101. print("Program zna izračunati prehranske vrednosti za naslednje izdelke:\n- jajca \n- banana \n- whey\n- mleko \n- mandlji \n- lešniki\n- krompir \n- riž \n- piščanec\n- tuna konzerva (neto = 52g, z odlitim oljem!) \n- ananas \n- melona\n- smoothie 1 (SKUTA 250g + KOSMIČI 60g + 1x BANANA)\n- smoothie 2 (MLEKO 250g + WHEY 40g + 1x BANANA)")
  102. print('') #empty line
  103.  
  104. print("Najprej boste izbrali hrano, nato pa še količino hrane. Program vam bo izračunal koliko beljakovin, ogljikovih hidratov in maščob boste zaužili v takšnem obroku.")
  105. print('') #empty line
  106.  
  107.  
  108. # sedaj gremo v neskončno zanko
  109. # inicializiramo (nastavimo) variable
  110. is_naprej = "d"
  111. is_error = False
  112.  
  113. # prazna lista za posamezne preračune
  114. myList = []
  115.  
  116. while is_naprej:
  117.  
  118. # tu nehamo, če se uporabnik tako odloči
  119. is_naprej = nadaljujem()
  120. is_error = False
  121. if is_naprej == False:
  122. break
  123.  
  124. ime_izdelka = input("Vpiši ime izdelka: ")
  125.  
  126.  
  127. # ----- sedaj imamo različne preračune za posamezne izdelke -----
  128. # ----------------------------------------------------------------
  129. if ime_izdelka == "jajca":
  130. kolicina = int(input("Koliko jajc: "))
  131. izracun_B = kolicina * jajca_1kom_B
  132. izracun_OH = kolicina * jajca_1kom_OH
  133. izracun_M = kolicina * jajca_1kom_M
  134. izpis_enizdelek()
  135.  
  136. elif ime_izdelka == "banana":
  137. kolicina = int(input("Koliko banan: "))
  138. izracun_B = kolicina * banana_1kom_B
  139. izracun_OH = kolicina * banana_1kom_OH
  140. izracun_M = kolicina * banana_1kom_M
  141. izpis_enizdelek()
  142.  
  143. elif ime_izdelka == "whey":
  144. kolicina = int(input("Koliko gramov: "))
  145. izracun_B = ((kolicina * whey_100g_B) / 100)
  146. izracun_OH = ((kolicina * whey_100g_OH) / 100)
  147. izracun_M = ((kolicina * whey_100g_M) / 100)
  148. izpis_enizdelek()
  149.  
  150. elif ime_izdelka == "mleko":
  151. kolicina = int(input("Koliko gramov: "))
  152. izracun_B = ((kolicina * mleko_100g_B) / 100)
  153. izracun_OH = ((kolicina * mleko_100g_OH) / 100)
  154. izracun_M = ((kolicina * mleko_100g_M) / 100)
  155. izpis_enizdelek()
  156.  
  157. else:
  158. print("")
  159. print("Nepravilno ste vnesli ime hrane.")
  160. is_error = True
  161.  
  162. # vpišemo rezultat v listo myList
  163. # ampak ne vpisujemo, če se je uporabnik zmotil pri else:
  164. if is_error == False:
  165.  
  166. # zaokrožimo na dve decimalki
  167. dizracun_B = round(izracun_B, 2)
  168. dizracun_OH = round(izracun_OH, 2)
  169. dizracun_M = round(izracun_M, 2)
  170.  
  171. # najprej vse rezultate združiš v slovar
  172. rezultati = {"izdelek": ime_izdelka, "kolicina": kolicina, \
  173. "izr_B": dizracun_B, "izr_OH": dizracun_OH, \
  174. "izr_M": dizracun_M}
  175.  
  176. # sedaj dodamo ta slovar v myList
  177. myList.append(rezultati)
  178. # test
  179. print(myList)
  180.  
  181. # konec zanke
  182.  
  183. # na koncu lahko vse vpišemo še v fajl jedilniki.txt
  184. # mogoče še izpišemo vse jedi, ki smo jih preračunali
  185. # to pa naslednjič
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement