ffact.py 510 B

123456789101112131415161718192021222324
  1. def ffact(n):
  2. if n == 1:
  3. return 1
  4. else:
  5. return n*ffact(n-1)
  6. def ffactfor(n):
  7. if n<= 0:
  8. return "bad",0
  9. else:
  10. ret = 1
  11. for i in range(1,n+1):
  12. ret *= i
  13. return "ok",ret
  14. fact = lambda x: 1 if x==1 else x*fact(x-1)
  15. from functools import reduce
  16. from operator import mul
  17. #factstd(n)= lambda n: reduce(mul,range(1,n+1))
  18. def factr(n):
  19. return reduce(mul,range(1,n+1))
  20. ll=[ffact,ffactfor,fact,factr]
  21. for fonc in ll:
  22. print(fonc(10))