两代码相同运算结果却不同。
def fab(n):n1 = 1
n2 = 1
n3 = 1
ifn < 1:
print('输入有误1' )
return -1
while (n-2) > 0:
n3= n2 + n1
nl = n2
n2 = n3
n -= 1
return n3
result = fab(20)
if result != -1:
print('共有%d对小免惠子诞生!' % result)
为什么这个代码得到的结果是2。
def fab(n):
n1 = 1
n2 = 1
n3 = 1
if n < 1:
print('输入有误1' )
return -1
while (n-2) > 0:
n3= n2+ n1
n1 = n2
n2 = n3
n-=1
return n3
result = fab(20)
if result != -1:
print ('共有几!%d对兔子'% result)
而这个代码得到的是6765。
明明两代码是一样的,可是算出的结果却不同????
有没有大佬解答下? 第一段代码的while循环里面,n1写成nl了 def fab(n):
n1 = 1
n2 = 1
n3 = 1
ifn < 1:
print('输入有误1' )
return -1
while (n-2) > 0:
n3= n2 + n1
nl = n2
n2 = n3
n -= 1
return n3
result = fab(20)
if result != -1:
print('共有%d对小免惠子诞生!' % result)
变量名拼错了 def fab(n):
n1 = 1
n2 = 1
n3 = 1
ifn < 1:
print('输入有误1' )
return -1
while (n-2) > 0:
n3= n2 + n1
n1 = n2 # 变量名错了
n2 = n3
n -= 1
return n3
result = fab(20)
if result != -1:
print('共有%d对小免惠子诞生!' % result) 本帖最后由 S.archagnelice 于 2020-3-23 20:08 编辑
第二个代码 return缩进不对。
你的
def fab(n):
n1 = 1
n2 = 1
n3 = 1
if n < 1:
print('输入有误1' )
return -1
while (n-2) > 0:
n3= n2+ n1
n1 = n2
n2 = n3
n-=1
return n3 #正确的应该在这个位置。
#return n3#这是你的。
result = fab(20)
if result != -1:
print ('共有几!%d对兔子'% result)
对照你上面正确的那个看下这个缩进。
页:
[1]