|
@@ -0,0 +1,24 @@
|
|
|
+def ffact(n):
|
|
|
+ if n == 1:
|
|
|
+ return 1
|
|
|
+ else:
|
|
|
+ return n*ffact(n-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
|
|
|
+
|
|
|
+fact = lambda x: 1 if x==1 else x*fact(x-1)
|
|
|
+from functools import reduce
|
|
|
+from operator import mul
|
|
|
+#factstd(n)= lambda n: reduce(mul,range(1,n+1))
|
|
|
+def factr(n):
|
|
|
+ return reduce(mul,range(1,n+1))
|
|
|
+
|
|
|
+ll=[ffact,ffactfor,fact,factr]
|
|
|
+for fonc in ll:
|
|
|
+ print(fonc(10))
|