python - Python 程序的输出为“无”
问题描述
def fact(n, summ):
if n == 0:
print(summ) -- Prints 55
return summ
fact(n-1, summ + n)
print(fact(10, 0)) -- Output None
解决方案
您需要fact(n-1, summ + n)
作为返回值返回。如果一个函数没有返回值,那么它默认返回 None。
def fact(n, summ):
if n == 0:
return summ
return fact(n-1, summ + n)
print(fact(10, 0))
这输出:
55
附带说明一下,您的fact
函数可以在没有第二个参数的情况下重新实现。以下产生相同的输出:
def fact(n):
if n == 0:
return 0
return n + fact(n-1)
print(fact(10))
推荐阅读
- javascript - 将具有 2 个属性的多个对象推送到数组中
- javascript - JSON 字符串运行不正常,调试问题
- compiler-errors - 编译期间 RAM 中的位翻转错误是否会导致生成的二进制文件中出现错误?
- javascript - 未捕获的类型错误:$(...).datagrid 不是函数
- python - Pycharm IDE中OpenCV中的“未指定错误。功能未实现”错误
- javascript - Phantom JS 和组件
- c# - 想要直接从对象访问类属性(字段)
- mpi - 带 Mpi 的 2D Radom Walk
- css - 如何在 asp.net 网站上正确定位谷歌地图?
- css - Tornadofx CSS 选定行