#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)
 

相关文章:

  • 2022-12-23
  • 2018-09-20
  • 2021-11-22
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
  • 2020-07-08
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-02-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案