如何解决为什么循环范围内的长度就是循环的长度,但循环范围内却没有增量?
我是一个初学者,我自己尝试了这个斐波那契数列,但是,即使列表的长度增加了,为什么变量b = len(e)+5的值却没有增加!为什么它不影响for循环的范围。
e=[0,1]
a=1
b=len(e)+5
n=int(input('enter a no.'))
for i in range(a,b):
print(b)
if n<=len(e):
print(e[n-1])
break
else:
e.append(e[i-1]+e[i])
try:
if e[len(e)-1]==e[n-1]:
print(e[n-1])
break
except:
pass
我希望我对这个问题很清楚。由于我是初学者,因此欢迎提出任何简单的建议。如果我在做任何可怕的事情,也请指出。 谢谢
解决方法
简单代码
e = [0,]
a,b = 0,1
n = int(input('enter a no.'))
for i in range(1,n):
a,b = b,a + b
e.append(a)
print(e[n-1],e)
结果是
21 [0,1,2,3,5,8,13,21]
,
嘿@Jayasri Palanisamy之所以b
的值没有增加是因为它只执行一次。当b= len(e)+5 = 7
。
e=[0,1]
a=1
n=int(input('enter a no.'))
b = len(e)+n
for i in range(a,b):
print(b)
if n<=len(e):
print(e[n-1])
break
else:
e.append(e[i-1]+e[i])
try:
if e[len(e)-1]==e[n-1]:
print(e[n-1])
break
except:
pass
这将为您提供正确的答案,但这也不是一个好的解决方案(我的意思是,有一种方法可以做到这一点并且更简单)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。