例一
利用函数的递归调用,求 s = 1!+2!+3!+4!+5!+...+n!。其中n在主函数用input赋值。返回最后的计算结果s,并在命令行用print函数输出“s = 1!+2!+3!+4!+5!+...+n!= ”
def f(n):
if n == 0:
return 1
else:
return n * f(n-1)
def sum_f(n):
if n == 0:
return 0
else:
return f(n) + sum_f(n-1)
n = int(input("请输入一个整数:"))
s = sum_f(n)
print("s = 1!+2!+3!+4!+5!+...+n! = %d"%s)
f
函数是用于计算阶乘的,而sum_f
函数则是用于计算一系列阶乘的和的
例二
利用函数的嵌套和递归调用,求s = 1^2 + 2^3 + 3^4 + ... + n^(n+1)
其中n在主函数用input赋值。返回最后的计算结果s,并在命令行输出结果
def f(n):
if n == 1:
return 1
else:
def sum_f(n):
return (n ** (n+1))
return f(n-1) + sum_f(n)
n = eval(input())
s = f(n)
print(s)
f函数是用于计算次方的,而sum_f函数则是用于计算一系列次方的和的
倘若不嵌套函数,则如下
def f(n):
if n == 1:
return 1
else:
return (n ** (n+1))
def sum_f(n):
if n == 1:
return 1
else:
return sum_f(n-1) + f(n)
n = eval(input())
s = sum_f(n)
print(s)