可以看出规律:下一项分子 = 上一项分母 + 上一项分子
下一项分母 = 上一项分子
1.常规for
sum=0
a=1 #分母
b=2 #分子
for i in range(5):
sum+=b/a
a,b=b,a+b
print(sum)
2.递归
def myfunc(n,a=2,b=1):
if n == 0:
return 0
else:
return a / b + myfunc( n-1,a+b, a)
print(myfunc(4))
3.另外的解法
其实与斐波那契数列相关
# Fibonacci 序列: 这里贴合题目,设定第一项为1、第2项为2
def fibonacci(n):
if n == 1:
return 1
elif n == 2:
return 2
else:
return fibonacci(n-1) + fibonacci(n-2)
def myfunc(n):
if n==1:
return 2
else:
return fibonacci(n+1)/fibonacci(n)+myfunc(n-1)
print(myfunc(4))
今日创作的bgm:《真的爱你》-- beyond