关于列表的一个问题
代码:def cc(x):
x1 = 1
x2 = 1
x3 = 1
if x<1:
print('输入有误!')
return -1
if x==1:
return
if x== 2:
return
while x>2:
x3 = x2 + x1
x1 = x2
x2 = x3
x -= 1
list1 =
list1.append(x3)
return list1
这是我看小甲鱼在课程求斐波那契数列的代码改过来的代码,因为我想把整个数列都显示出来。
如cc(5)
. 这是我希望看到的结果
但是现实确是:cc(5)
求大佬告知下问题出在哪里,以及该如何改正,谢谢了 你每次循环都会把list1
重设为,所以最后只会添加进一个元素。 def cc(x):
x1 = 1
x2 = 1
x3 = 1
list1 =
if x<1:
print('输入有误!')
return -1
if x==1:
return
if x== 2:
return
while x>2:
x3 = x2 + x1
x1 = x2
x2 = x3
x -= 1
list1.append(x3)
return list1
print(cc(5))
把list1放在循环外面,不要放在while循环里,不然每次运行到while循环最后都会把列表重新赋值。 heidern0612 发表于 2020-4-3 20:44
把list1放在循环外面,不要放在while循环里,不然每次运行到while循环最后都会把列表重新赋值。
懂了,谢谢大佬 qiuyouzhi 发表于 2020-4-3 20:33
你每次循环都会把list1
重设为,所以最后只会添加进一个元素。
懂了,谢谢 这个设置最佳答案没有了嘛?
页:
[1]