Python练习题3
2019-08-15 本文已影响1人
皮皮大
题目
阶乘求和:如何实现?主要讲解4种方式:
-
for
循环 -
while
循环 - 函数嵌套
- for+函数
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)