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)
 

posted @ 2021-05-16 18:17  霓凰凤舞  阅读(1890)  评论(0编辑  收藏  举报