【基础】练习册4-Python3_计算阶乘和

代码如下:

#计算阶乘和(1!+2!+3!+...+n!)

#方法一:递归调用阶乘求和

'''def fact(n):

    if n==1:

        return 1

    else:

        return n*fact(n-1)

n=int(input("请输入一个正整数: "))

if n>0:

    s=0

    for i in range(1,n+1):

        s=s+fact(i)

    print("%d的阶乘和=%d"%(n,s))

else:

    print("input error!")

'''

#方法二:函数嵌套定义

'''def sum(n):

    def fact(m):

        if(m==1):

            return 1

        else:

            return m*fact(m-1)

    s=0

    for j in range(1,n+1):

        s=s+fact(j)

    return s

n=int(input('请输入一个整数:'))

if n>0:

    print("%d的阶乘和=%d"%(n,sum(n)))

else:

    print("input error!")'''

#方法三:使用while循环

n=int(input("请输入一个正整数: "))

s=0

i=1

fact=1

while(n>=i):

    fact*=i #fact为一个过渡参数,根据阶乘和的特点:前后两个阶乘只差一个i

    s+=fact

    i+=1

print("%d的阶乘和=%d"%(n,s))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 50道JAVA基础编程练习题 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    清先生阅读 2,586评论 0 2
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 11,959评论 0 9
  • 本文试图概述Python编程语言的所有关键点,并专注于绝对需要理解的最重要的主题。完全零基础,你不需要具备任何先前...
    yoku酱阅读 3,813评论 0 1
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,187评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 13,585评论 0 11