Untitled
unknown
python
2 years ago
2.0 kB
7
Indexable
def ulazniPodaci():
ulazniRecnik = {}
end = ""
while True:
ulaznaLinija = input()
if ulaznaLinija == end:
break
else:
imePredmeta, brojStudenata, tezinaPredmeta = ulaznaLinija.split()
if len(imePredmeta) < 7 or int(brojStudenata) < 0 or float(tezinaPredmeta) < 0:
break
else:
ulazniRecnik[imePredmeta] = [brojStudenata, tezinaPredmeta]
print(ulazniRecnik)
return ulazniRecnik
def izracunajTezinu(ulazniRecnik):
kljucevi = ulazniRecnik.keys()
akronimPredmeta = []
for kljuc in kljucevi:
akronim = kljuc[6:]
akronimPredmeta.append(akronim)
print("Svi akronimi", akronimPredmeta)
akronimPredmeta = set(akronimPredmeta)
print("Jedinstveni akronimi", akronimPredmeta)
izlazniRecnik = {}
for predmet in akronimPredmeta:
izlazniRecnik[predmet] = 0.0
tezinaTmp = 0.0
brojGrupa = 0.0
ukupanBrojGrupa = 0.0
for kljuc in kljucevi:
akronim = kljuc[6:]
if akronim == predmet:
vrednosti = ulazniRecnik[kljuc]
brojStudenata = int(vrednosti[0])
tezinaPredmeta = float(vrednosti[1])
brojGrupa, ostatak = divmod(brojStudenata, 60)
if ostatak != 0:
brojGrupa += 1
ukupanBrojGrupa += brojGrupa
tezinaTmp += brojGrupa * tezinaPredmeta
if ukupanBrojGrupa == 0:
print("Greska, ukupan broj grupa je 0!")
izlazniRecnik[predmet] = 0.0
else:
izlazniRecnik = tezinaTmp / ukupanBrojGrupa
print("Nove tezine", izlazniRecnik)
return izlazniRecnik
def stampajTezine(izlazniRecnik):
sortiraniKljucevi = sorted(izlazniRecnik.keys())
for kljuc in sortiraniKljucevi:
print("(:10s){:0.2f}".format(kljuc, izlazniRecnik[kljuc]))Editor is loading...