inspirée de mes cours en nsi.
def est_vide(liste): return liste == nil def somme(liste): if est_vide(liste): return 0 else: return tete(liste) + somme(queue(liste)) def appartient(val, liste): if est_vide(liste): return False elif tete(liste) == val: return True else: return appartient(val, queue(liste)) def nb_occur(val, liste): if est_vide(liste): return False elif tete(liste) == val: return nb_occur(val, queue(liste)) + 1 else: return nb_occur(val, queue(liste)) def n_ieme(i, liste): assert not est_vide(liste), "Indice non trouvé" if i==0: return tete(liste) else: return n_ieme(i-1, queue(liste)) def maximum(liste): assert not est_vide(liste), "La liste est vide" if est_vide(queue(liste)): return tete(liste) else: return max(tete(liste), maximum(queue(liste)))