1234567891011121314151617181920212223242526272829303132 |
- # méthode 1
- def ffactfor(n):
- if n<= 0:
- return "bad",0
- else:
- ret = 1
- for i in range(1,n+1):
- ret *= i
- return "ok",ret
- # méthode 2 (récursion)
- def ffact(n):
- if n == 1:
- return 1
- else:
- return n*ffact(n-1)
- # méthode 3 (lambda function)
- fact = lambda x: 1 if x==1 else x*fact(x-1)
- # méthode 4 (utilisation de la bibliothèque standard)
- from functools import reduce
- from operator import mul
- def factr(n):
- return reduce(mul,range(1,n+1))
- #
- # On peut mettre les foctions dans une liste
- #
- ll=[ffact,ffactfor,fact,factr]
- for fonc in ll:
- print(fonc(10))
|