Open zabza86 opened 3 years ago
Ahojky @tereziev :)
Ukol 9: Byl trosku zaludny a docela dobre si se s nim vyporadala :) Vzala jsem tvuj kod a trosku poprehazela a zjednodusila:
# soucet_znamek = {}
# for student in vysledky:
# jmeno = student["Jméno"]
# znamky = student.pop("Jméno")
# znamky = list(student.values())
# # prumer = sum(znamky) / len(znamky)
# # print(f"{jmeno} má {prumer}.")
# if jmeno in soucet_znamek:
# soucet_znamek[jmeno] += znamky
# else:
# soucet_znamek[jmeno] = znamky
"""
print(soucet_znamek)
for jmeno, znamky in soucet_znamek.items():
print(sum(znamky)/len(znamky))
"""
def ohodnot_studenta(soucet_znamek):
# prumer = sum(znamky) / len(znamky)
suma = sum(soucet_znamek.values())
prumer = round(suma / len(soucet_znamek), 1)
# if 5 not in znamky:
# if 3 not in znamky:
# if prumer <= 1.5:
# hodnoceni = 'Prospěl/a s vyznamenáním'
# else:
# hodnoceni = 'Prospěl/a'
# else:
# hodnoceni = 'Prospěl/a'
# else:
# hodnoceni = 'Neprospěl/a'
# return hodnoceni
if 5 in soucet_znamek.values():
return 'Neprospěl/a'
if prumer <= 1.5 and 3 not in soucet_znamek.values():
return 'Prospěl/a s vyznamenáním'
return 'Prospěl/a'
# for jmeno, znamky in soucet_znamek.items():
for student in vysledky:
jmeno = student.pop('Jméno')
print(f"{jmeno}: {ohodnot_studenta(student)}")
Ukol 10: Pekne sis zavarila, ze jsi dala funkce i dovnitr, chvili mi trvalo, nez jsem to dala dohromady :) :) Cele to bylo mysleno na jednu funkci, ve ktere je spousta ifu pro kazdy parametr:
# total = 0
def rating(industry, turn, country, conference=False, newsletter=False):
sance = ""
total = 0
# def industry(odvetvi):
def industry_funkce(odvetvi, total):
if odvetvi == "automotive":
total = 3
elif odvetvi == "retail":
total = 2
# else:
# total += 0
return total
total += industry_funkce(industry, total)
# def turn(obrat):
def turn_funkce(obrat, total):
if obrat <= 10000000:
# total += 0
total = 1
elif (obrat > 10000000) and (obrat < 1000000000) :
total = 3
# else:
# total += 0
return total
total += turn_funkce(turn, total)
# def country(zeme):
def country_funkce(zeme, total):
# if zeme == "Česká republika" or "Slovensko":
if zeme in ["Česká republika", "Slovensko"]:
total = 2
# elif zeme == "Německo" or "Francie":
elif zeme == "Německo" or zeme == "Francie":
total = 1
# else:
# total += 0
return total
total += country_funkce(country, total)
if conference:
total += 1
if newsletter:
total += 1
if total < 5:
sance = "šance na záskání je malá"
# elif total >= 5:
elif 5 < total <= 8:
sance = "šance na záskání je střední"
# elif total >= 9:
else:
sance= "šance na záskání je velká"
return sance
1, Pokud pouzijes funkci, je treba ji predat parametr a nejlepe ji zavolat.
Jednodussi verze tveho kodu:
def rating(odvetvi, obrat, zeme, conference=False, newsletter=False):
total = 0
if odvetvi == "automotive":
total += 3
elif odvetvi == "retail":
total += 2
if obrat <= 10000000:
total += 1
elif (obrat > 10000000) and (obrat < 1000000000) :
total += 3
if zeme in ["Česká republika", "Slovensko"]:
total += 2
elif zeme in ["Německo", "Francie"]:
total += 1
if conference:
total += 1
if newsletter:
total += 1
if total < 5:
return "šance na záskání je malá"
elif 5 < total <= 8:
return "šance na záskání je střední"
return "šance na záskání je velká"
Ahojky @tereziev :) Dekuji za odevzdani dalsi varky ukolu :)
Ukol 6: Skvely kod, ale ma jeden vroubek, i kdyz je stat nalezeny, tak napise jako posledni hodnotu neplatny region, da se to obejit pres True/False. Pokud se pouzije nikdy nekoncici radek, neboli ending (end=" "), tak je potreba to nekdy zalomit a dela se to prazdnym printem (print()) coz je jako enter...
Ukol 7: Bez komentare
Ukol 8: Bohuzel nemohu zatim uznat, jelikot nesplnuje zadani: Tvůj program bude obsahovat dvě funkce!
Input funkce je defaultne stringova, pokud chceme int musime ji pretypovat:
Zjednodusenni:
Python rozeznava dva typy deleni, 1. celociselny (vysledek v intu) // a 2. deleni se zbytkem (vysledek float) /