Python札记人工智能/模式识别/机器学习精华专题机器学习与数据挖掘

Python练习题3

2019-08-15  本文已影响1人  皮皮大

题目

阶乘求和:1!+2!+....+20!如何实现?主要讲解4种方式:

for

# 两层for循环
sum = 0   # 定义初始值
for i in range(1, 21):
    origin = 1  # 单个阶乘的初始值
    for j in range(1, i+1):
        origin *= j  # 单个数的阶乘
    sum += origin   # 累加求和
print(sum)

while

number = 1   # 单个阶乘的初始值
sum = 0  
i = 1  # 控制次数

while 20 >= i:   # 控制循环的持续,直到20停止
    number *= i    # 单个阶乘
    sum += number
    i += 1
print(sum)

函数嵌套

def digui(n):  # 定义一个单个数的阶乘的递归函数
    if n==1:
        return 1
    else:
        return n * digui(n-1)
    
def jiecheng(digui, n):   # 传入上面的递归函数作为参数之一
    sum = 0
    for i in range(1, n):
        sum += digui(i)  
    return sum
def jiecheng(digui, n):
    def digui(n):
        if n==1:
            return 1
        else:
            return n * digui(n-1)
    sum = 0
    for i in range(1, n):
        sum += digui(i)
    return sum

for+函数嵌套

# 递归函数实现
def digui(n):
    if n==1:
        return 1
    else:
        return n * digui(n-1)    # 实现递归
    
sum = 0 
for i in range(1, 21):  
    sum = sum + digui(i)  # for循环中调用递归函数
print(sum)
上一篇 下一篇

猜你喜欢

热点阅读