这个分数规律用python语言怎么描述啊,用循环结构写,有没有同志能帮忙看一下

晚上好🌙🌙🌙
本答案参考ChatGPT-3.5
题目描述:
有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13.... 求出这个数列的前 n 项之和,n 由用户输入。
解决方案:
根据数列规律,可以发现这是一个斐波那契数列中相邻两项的比值组成的数列(比如 2/1=2,3/2=1.5,5/3=1.6666...),因此我们可以使用斐波那契数列的求和公式来解决此问题。
迭代求和,使用循环结构计算出每一项的数值,然后将其加起来即可得到总和。
代码示例:
方法一:
n = int(input("请输入要求和的项数:"))
def fibonacci(n):
if n < 2:
return n
return fibonacci(n-1) + fibonacci(n-2)
sum = 0
for i in range(1, n+1):
sum += fibonacci(i+1)/fibonacci(i)
print("前", n, "项之和为:", sum)
方法二:
n = int(input("请输入要求和的项数:"))
def sequence(n):
a, b = 2, 1
sum = a / b
for i in range(2, n+1):
a, b = a + b, a
sum += a / b
return sum
print("前", n, "项之和为:", sequence(n))