Materiale Lezione Python 3 – Le sottoclassi

Materiale di supporto per la video lezione sulle sotto classi in Python 3

class Persona(object):
    nome=""
    cognome=""
    data_nascita=""
    luogo_nascita=""
    def __init__(self,n,c,dn,ln):
        self.nome=n
        self.cognome=c
        self.data_nascita=dn
        self.luogo_nascita=ln
    def stampa(self):
        print("\nDati Anagrafici:\n")
        print("Nome e Cognome:",self.nome+" "+self.cognome)
        print("\nData e Luogo di Nascita:",self.data_nascita+" "+self.luogo_nascita)
class Studente(Persona):
    media_voti=0
    voti=[]
    def __init__(self,n,c,dn,ln):
        super().__init__(n,c,dn,ln)
        n=int(input("Quanti voti devi inserire per lo studente ? "))
        for k in range(n):
            self.voti.append(float(input("\nInserire il voto:")))
    def CalcolaMedia(self):
        somma=0
        for e in self.voti:
            somma+=e
        self.media_voti=somma/len(self.voti)
    def Stampa(self):
        super().stampa()
        print("\nVoti Conseguiti:",self.voti)
        print("\n Media dei Voti:",self.media_voti)
def main():
    p=Persona("Mario","Rossi","31/10/2002","Napoli")
    p.stampa()
    st=Studente("Mario","Rossi","03/03/2002","Bapoli")
    st.CalcolaMedia()
    st.Stampa()
if __name__=="__main__":
    main()