• API
• FAQ
• Tools
• Archive
SHARE
TWEET

# Untitled

a guest Feb 22nd, 2019 81 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. # zunanji moduli
2. import json
3. from decimal import Decimal
4.
5.
6. # moje funkcije, definiramo jih vnaprej
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
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 (nepravilno vnesel ime hrane)
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.
184. # ------------- natisnemo celo listo kot tabelo
185.
186. # koliko zapisov imamo
187. nelementov = len(myList)
188.
189. # če lista ni prazna
190. if nelementov > 0:
191.
192.     # inicializiranje var za total
193.     tot_izB = 0
194.     tot_izO = 0
195.     tot_izM = 0
196.
197.     print(" ")
198.     print("Vrednosti vse preračunane hrane (g):")
199.     print('===========================================')
200.     my_header = "Izdelek      Kol.      B      OH       M"
201.     #            .......... .....   .....   .....   .....
203.
204.     for x in range(0, nelementov):
205.         # my_data je dictionary znotraj liste myList
206.         my_data = myList[x]
207.
208.         # zaradi preglednosti naložimo posamezne dele v začasne variable
209.         # števila zaokrožimo na 2 decimalki, da se bodo lepo podpisovala
210.         my_izd = my_data["izdelek"]
211.         my_kol = my_data["kolicina"]
212.         my_izB = my_data["izr_B"]
213.         my_izO = my_data["izr_OH"]
214.         my_izM = my_data["izr_M"]
215.
216.         # total
217.         tot_izB = tot_izB + my_izB
218.         tot_izO = tot_izO + my_izO
219.         tot_izM = tot_izM + my_izM
220.
221.         # oblikujemo izpis - natančno formatiranje stringa je kar zpleteno
222.         # bom še razložil
223.         my_values = "{0:10} {1:>5.0f}   {2:>5.2f}   {3:>5.2f}   {4:>5.2f}".format(my_izd, my_kol, my_izB, my_izO, my_izM)
224.         print(my_values)
225.
226. # sedaj vpišemo še total
227. print('===========================================')
228. #     "Izdelek - Količina - B - OH - M"
229. my_totalstring = "{0:10} {1:5}   {2:5.2f}   {3:5.2f}   {4:5.2f}".format("TOTAL ", " ", tot_izB, tot_izO, tot_izM)
230. print (my_totalstring)
231.
232. # ----------   KONEC tabele
233.
234.
235. # po želji lahko vse vpišemo še v fajl jedilniki.txt
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top