Python之阶乘代码
#coding=utf-8
while True:
num = int(input("请输入要阶乘的正整数数字,按负数退出:"))
jiec=1
if num==0:
print("0的阶乘是1")
elif num==1:
print("1的阶乘是1")
elif num>0:
for i in range(1,num+1):
jiec=jiec*i
print("%d的阶乘是%d"%(i,jiec))
elif num<0:
print("负数没有阶乘")
break
else:
print("请输入正确数字")
#利用reduce函数写
#**********方法一************
def sum(x,y):
return x*y
m=input("请输入一个数字:")
print reduce(sum,(range(1,m)))
#*********方法二**************
from functools import reduce
m=input("请输入需要阶乘的数字:")
sum=reduce(lambda x,y:x*y,range(1,m))
print(sum)