python-3.x 使用列表解析查找Fibonacci数列最多N项

xsuvu9jc  于 2023-06-25  发布在  Python
关注(0)|答案(1)|浏览(118)

需要找到斐波那契数列最多N项。

n=int(input("Enter the n terms: "))
f_val=0
fib_list=[f_val:=f_val + i for i in range(n)]
print(fib_list)

在执行上面的程序时,我得到了结果:

Enter the n terms:  5
[0, 1, 3, 6, 10]

我的疑惑是:f_val := f_val + i的用途是什么?我真的不知道:=在Python中的用途。有人能帮我找到解决办法吗?

lmyy7pcs

lmyy7pcs1#

n = int(input("Enter the number of terms: "))

f_val = 0
fib_list = [f_val := f_val + (fib_list[i-1] if i > 0 else 1) for i in range(n)]

print(fib_list)

更正代码并解决您的疑问是:f_val是存储类斐波那契数列的当前值的变量。f_val + i通过将f_val的当前值与循环变量i相加来计算下一项。f_val := f_val + i将新计算的值分配给f_val,以进行下一次迭代。

相关问题