为什么循环的范围没有增加,它的范围是循环的长度,即使长度在循环内增加?
Why there is no increment in the range of a loop, with its range being length of the loop,even though the length gets incremented inside the loop?
我是初学者,我自己尝试了这个斐波那契数列,但是为什么即使列表的长度增加,变量 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, 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
这会给你正确的答案,但这也不是一个好的解决方案(我的意思是有一种方法可以做同样的事情并且更简单)。
我是初学者,我自己尝试了这个斐波那契数列,但是为什么即使列表的长度增加,变量 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, 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
这会给你正确的答案,但这也不是一个好的解决方案(我的意思是有一种方法可以做同样的事情并且更简单)。