Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

lista linkate e alberi

m
matteo basile (340 points)
2 11 16
in Programmare in Python by (340 points)
salve ragazzi premetto che sono un neofita della programmazione e sto cercando di esercitarmi sulla attrversamento di alberi e liste linkate .....non capisco perchè quando chiamo la funzione nro_nodi(Lista)  mi da errore: AttributeError: 'str' object has no attribute 'val'..... grazie in anticipo  per le risposte

def main():
    g=Lista()
    l= Lista("w","e")
    print(l)
    #print(g)
    print(is_vuota(l))
    #print(is_vuota(g))
    print(nro_nodi(l))
    #print(nro_nodi(g))
    

class Lista():
    def __init__(self, val = None, next = None):
        self.val = val
        self.next = next

    def __repr__(self):
        return f"valore: {self.val}, prossimo: {self.next}"
        
###funzioni di utilità
def is_vuota(Lista):
    "ritorna True se la lista e vuota e False altrimenti"
    return Lista.val == None
         
def nro_nodi(Lista):
    "conta il numero di nodi"
    if is_vuota(Lista):
         return 0
    return 1 + nro_nodi(Lista.next)

if __name__ == "__main__":
    main()
266 views

1 Answer

andrea.sterbini (207920 points)
750 1267 2373
by (208k points)

Non dovete condividere codice.

BTW, nell'istruzione

l= Lista("w","e")

il secondo argomento è una str e non una Lista

m
matteo basile (340 points)
2 11 16
by (340 points)
edited by
scusi prof . ma ho messo del codice perchè non essendo inerente a hw o esercizi su q2a credevo non creasse problemi...scusi ancora.

adesso ho provato costruendo le liste lincate tra loro esempio:

l1=Lista(1,l2)

l2=Lista(2,l3)

l3=Lista(3)

ma il problema sussiste : 'NoneType' object has no attribute 'val'

non riesco ad uscirne fuori....
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
non controlli che Lista sia None