我的代码
import sys
number=int(sys.argv[1])
if number == 0
fact=1
else
fact=number
for (x=1; x<number; x++)
fact*=x; // mistake probably here
print fact
我明白错误
File "factorial.py", line 5
if number == 0
^
SyntaxError: invalid syntax
如何在Python中生成阶乘函数?
Tags:
我知道你可能是出于教育的原因而试图自己实现这一点。
但是,如果没有,我建议使用
math
模块内置的factorial函数(注意:需要python 2.6或更高版本):这个模块是用C编写的,因此,它将比用python编写要快得多。(不过,如果不计算大的阶乘,这两种方法都不会太慢)。
这是您的代码,已修复并正在工作:
(阶乘0是1,对于任何不知道的人-我必须查一下。8-)
在
if
、else
、for
等后面需要冒号,Python中for
的工作方式与C不同错误所在的行应为
注意末尾的冒号。
另外,您需要在else和for之后添加相同的冒号。冒号的工作方式与其他语言中的{}类似。
最后,这不是for循环在Python中的工作方式。您要使用该列表的代码是
如果你用C风格的语言写的话,它的效果和你写的一样。
编辑:哦,我给出的for循环是错误的,它应该包含0。我更新了代码来纠正这个问题。
相关问题 更多 >
编程相关推荐