您当前的位置:首页 > 计算机 > 编程开发 > Python

python练习,求1~n阶乘之和

时间:04-28来源:作者:点击数:
CDSY,CDSY.XYZ

python练习,求1~n阶乘之和

# -*- coding:utf-8 -*- 
#yys
# 本示例计算1—n的阶乘之和
# 1+
# 1*2+
# 1*2*3+
# 1*2*3*4+
# ......
#1*2*3*4*...*n
import sys
print(sys.version) #3.6.7 |Anaconda, Inc.| (default, Oct 28 2018, 19:44:12) [MSC v.1915 64 bit (AMD64)]

#方法1,最直接,采用递归
num=input("请输入正整数")
while (not num.isdigit()) or (num=="0"):
    num = input("请再次输入正整数")
print(num)

def fun1(n):
    if n==1:
        return 1
    else:
        return n*fun1(n-1)
print()
sum_all_1=0
for i in range(1,int(num)+1):
    sum_all_1+=fun1(i)
    print(sum_all_1)
print()
print("n阶之和,如下:")
print(sum_all_1)

# 方法2
# for 循环
result=1
sum_all_2=0
list1=[]
for i in range(1,int(num)+1):
    result*=i
    list1.append(result)
    sum_all_2+=result
print()
print("n阶之和,如下:")
print(sum_all_2)
print(sum(list1))

#方法3
print("&"*10)
import math
sum_all_3=0
for i in range(1,int(num)+1):
    sum_all_3+=math.factorial(i)
print("n阶之和,如下:")
print(sum_all_3)

 

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐