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()
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()