错误代码
错误分析:a = []放到for循环里面去了,每循环1次,就被重置成空1次,
执行结果:[5]
#斐波那契数列
def fib(n):
if n<2:
return 1
else:
return fib(n-1)+fib(n-2)
for i in range(1,5):
a = []
a.append(fib(i))
print(a)
修改后的代码:
修改办法:a = []放到for循环外面,
执行结果:[1, 2, 3, 5]
#斐波那契数列
def fib(n):
if n<2:
return 1
else:
return fib(n-1)+fib(n-2)
a = []
for i in range(1,5):
a.append(fib(i))
print(a)
修正循环内列表
本文介绍了一个常见的编程错误:在循环内部初始化列表导致的数据覆盖问题。通过一个具体的斐波那契数列生成示例,展示了如何将列表初始化移出循环外部以正确累积结果。
1258





