python - 你能告诉我我的代码有什么问题吗?
问题描述
当我调用我的 fib 函数时,它不会返回任何内容。你能告诉我我做错了什么吗?
def fib(n, List = []):
if n > 0:
if len(List) == 0 or len(List) == 1:
List.append(1)
else:
List.append(List[len(List) - 2] + List[len(List) - 1])
fib(n - 1, List)
else:
return List
l = fib(5)
print(l) # >> None
解决方案
更改fib(n - 1, List)
为return fib(n - 1, List)
:
def fib(n, List = []):
if n > 0:
if len(List) == 0 or len(List) == 1:
List.append(1)
else:
List.append(List[len(List) - 2] + List[len(List) - 1])
return fib(n - 1, List)
else:
return List
推荐阅读
- c++ - 确定 wchar_t 是内置类型还是别名
- python - 如果值存储为“;”,如何获取 pandas 中的值的计数 列中的分隔值?
- node.js - 在 Windows 上部署 node.js 应用程序
- rest - 为什么我从 HERE Routing API 和 HERE 地图网站收到不同的结果?
- node.js - 在 Linux 中安装 Jest 时,这些 npm 警告是什么意思?
- python - Itertool 循环函数仅在元组中访问第一个值一次
- nrwl-nx - 如何使用 NX CLI 将命令转发到运行命令?
- web2py - web2py 中的 auth_user.password 字段格式是什么
- flutter - Flutter:同一周的 showDatePicker firstdate 和 lastdate
- python - 将“对象”列转换为日期时间