(完全公开,我正在阅读 CodeAcademy 的 Python 教程,并且正在使用他们基于 Web 的 IDE。)
def factorial(x):
bang = 1
for num in x:
bang = bang * num
return bang
在 Java 中,这可以从小于 2,147,483,647 的数字生成阶乘。我认为它应该在 python 中工作,但它没有。相反,我得到了错误:
“回溯(最近一次调用最后一次):文件“python”,第 3 行,在阶乘类型错误中:'int' 对象不可迭代”
也许这里有一些我不理解的东西,或者我的语法错误。我进一步测试并创建了一个名为 factorial 的单独函数,该函数迭代:
def factorial(x):
if x > 2:
return x
else:
return x(factorial(x-1))
这也不起作用,给我错误:
“回溯(最近一次调用最后一次):文件“python”,第 11 行,在阶乘类型错误中:'int' 对象不可调用”
我是一个 python 菜鸟,但似乎这两个都应该工作。请建议学习 Python 语法的最佳方法...