# return the last value of a (pointer-based) linked list in Python, with error class cons: def __init__(self,a,b): self.car = a self.cdr = b # cons class M = cons(2,cons(3,cons(5,cons(7,None)))) def foreach(m,action): while m!=None: action(m.car) m = m.cdr #foreach foreach(M, lambda x: print(x,end=" ")) # prints list def last(m): # return last interger in a list while m.cdr!=None: m = m.cdr return m #last print() print( last(M) ) # no erorr, of course not print( last(M) + 1 )