|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def fab(n):
if n<1:
print('输入有误')
return -1
if n==1 or n==2:
return 1
if n>2:
return fab(n-1)+fab(n-2)
n=int(input('请输入一个n值:'))
reslut = fab(n)
if reslut!=-1:
print('总共有%d对小兔崽子诞生'% result)
0.请教诸位大神,哪里有错?为什么一直说result没有定义呢?
def fab(n):
global reslut
if n<1:
print('输入有误')
if n==1 or n==2:
return reslut==1
if n>2:
result=fab(n-1)+fab(n-2)
n=int(input('请输入一个n值:'))
print('总共有%d对小兔崽子诞生'% result)
1.如果我这样写,是否可以?哪里不对呢?
0 前面的result拼成了reslut
1 递归调用要返回才行,而且结束条件的地方用result==1也不科学,因为这样return的是一个布尔的True
|
|