site de Fabien Torre


Source de entier-list.py

1: ### implémentation du type abstrait Entier 2: ### avec des listes Python 3: 4: # constructeurs 5: 6: def zero(): 7: return [] 8: 9: def succ(n): 10: s = list(n) 11: s.append(0) 12: return s 13: 14: def prec(n): 15: p = list(n) 16: p.pop() 17: return p 18: 19: # test 20: 21: def est_nul (n): 22: return (len(n)==0) 23: 24: # affichage 25: 26: def affiche_entier (n): 27: print("cet entier vaut",len(n)) 28: 29: ### opérations de haut niveau 30: 31: # addition 32: 33: def plus(n,m): 34: while not est_nul(n): 35: m = succ(m) 36: n = prec(n) 37: return m 38: 39: # multiplication 40: 41: def fois(n,m): 42: s = zero() 43: while not est_nul(n): 44: s = plus(s,m) 45: n = prec(n) 46: return s 47: 48: ### programme principal 49: 50: affiche_entier(succ(succ(zero()))) 51: 52: x = succ(succ(zero())) 53: y = succ(succ(succ(zero()))) 54: 55: affiche_entier(plus(x,y)) 56: 57: affiche_entier(x) 58: 59: affiche_entier(fois(x,y))
site de Fabien Torre, université de Lille