ODP 9 M3

Moduł 3 – część praktyczna ciąg dalszy

2. uczen1 = {

‚imie’:’Jan’,

‚nazwisko’:’Kowalski’

}

 

uczen2 = {

‚imie’:’Adam’,

‚nazwisko’:’Nowak’

}

 

nauczyciel1 = {

‚imie’:’Tadeusz’,

‚nazwisko’:’Malinowski’,

}

 

nauczyciel2 = {

‚imie’:’Janina’,

‚nazwisko’:’Nowacka’,

}

 

przedmiot1 = {

‚nazwa’:’Angielski – podstawowy’,

‚uczniowie’:[uczen1,uczen2],

‚nauczyciel’:nauczyciel1

}

 

przedmiot2 = {

‚nazwa’:’Niemiecki – zaawansowany’,

‚uczniowie’:[uczen2],

‚nauczyciel’:nauczyciel2

}

 

ocena1 = {

‚przedmiot’:przedmiot1,

‚uczen’:uczen1,

‚ocena’:4,

}

 

ocena2 = {

‚przedmiot’:przedmiot1,

‚uczen’:uczen2,

‚ocena’:5,

}

 

 

b)

def dodajNauczyciela(nauczyciel,baza):

if nauczyciel in baza:

print(„Nauczyciel juz istnieje”)

else:

baza.append(nauczyciel)

def znajdzNauczyciela(nauczyciel,baza):

if nauczyciel in baza:

return nauczyciel

else:

print(‚Nie ma takiego nauczyciela’)

 

def usunNauczyciela(nauczyciel,baza):

if nauczyciel in baza:

baza.remove(nauczyciel)

else:

print(‚Nie usunięto, nie ma takiego nauczyciela’)

def zmienNauczyciela(nauczycielStary,nauczycielNowy,baza):

if nauczycielStary not in baza:

print(‚Nie ma takiego nauczyciela’)

else:

index=baza.index(nauczycielStary)

baza[index][‚imie’]=nauczycielNowy[‚imie’]

baza[index][‚nazwisko’]=nauczycielNowy[‚nazwisko’]

 

c)

def wystawOcene(uczen, przedmiot, ocena, bazaUczniow, bazaPrzedmiotow, bazaOcen):

if uczen not in bazaUczniow:

print(‚nie ma takiego ucznia’)

elif przedmiot not in bazaPrzedmiotow:

print(‚Nie ma takiego przedmiotu’)

else:

if ocena in bazaOcen:

print(‚Jest już taka ocena’)

else:

bazaOcen.add(ocena)

 

d)

def znajdzNajlepszego(przedmiot,bazaPrzedmiotow, bazaOcen):

maxOcena=0

maxUczen=”

if przedmiot not in bazaPrzedmiotow:

print(‚Nie ma takiego przedmiotu’)

else:

for ocena in bazaOcen:

if ocena[‚przedmiot’]==przedmiot:

if ocena[‚ocena’]>maxOcena:

maxUczen=ocena[‚uczen’]

maxOcena=ocena[‚ocena’]

return maxUczen

 

def znajdzNajgorszego(przedmiot,bazaPrzedmiotow, bazaOcen):

minOcena=999

minUczen=”

if przedmiot not in bazaPrzedmiotow:

print(‚Nie ma takiego przedmiotu’)

else:

for ocena in bazaOcen:

if ocena[‚przedmiot’]==przedmiot:

if ocena[‚ocena’]<minOcena:

minUczen=ocena[‚uczen’]

minOcena=ocena[‚ocena’]

return minUczen

 

e)

def najlepszaSrednia(bazaUczniow,bazaOcen, bazaPrzedmiotow):
maxSrednia=0
maxUczen=”
for uczen in bazaUczniow:
srednia=0
suma=0
ocen=0
for ocena in bazaOcen:
if ocena[‚uczen’]==uczen:
suma+=ocena[‚ocena’]
ocen+=1
if ocen>0:
srednia=suma/ocen
if srednia>maxSrednia:
maxSrednia=srednia
maxUczen=uczen

print(str(maxSrednia) + ‚ ‚ + str(maxUczen))

SPEŁNIJ I KONTYNUUJ