当前位置:  开发笔记 > 编程语言 > 正文

无法在Python中创建阶乘函数

如何解决《无法在Python中创建阶乘函数》经验,为你挑选了3个好方法。

我的代码

import sys

number=int(sys.argv[1])

if number == 0
    fact=1
else
    fact=number
for (x=1; x

我收到了错误

File "factorial.py", line 5
    if number == 0
                 ^
SyntaxError: invalid syntax

如何在Python中创建阶乘函数?



1> Mike Cooper..:

应该读取您的错误所在的行

if number == 0:

注意结尾的冒号.

另外,你需要在else和for之后添加相同的冒号.冒号在其他语言中与{}的工作方式类似.

最后,那不是循环如何在Python中工作.您要使用该列表的代码将是

for x in range(1,number):

如果你把它放在C风格的语言中,那么你所写的内容会产生同样的效果.

编辑:哎呀,我给的for循环是错误的,它会包括0.我更新了代码来纠正这个问题.



2> TM...:

我知道您可能出于教育原因尝试自己实施此操作.

但是,如果没有,我建议使用math模块内置的阶乘函数(注意:需要python 2.6或更高版本):

>>> import math
>>> math.factorial(5)
120

这个模块是用C语言编写的,因此它比在python中编写要快得多.(但是,如果你不是计算大型因子,那么无论如何都不会太慢).



3> RichieHindle..:

这是你的代码,修复和工作:

import sys
number = int(sys.argv[1])
fact = 1
for x in range(1, number+1):
    fact *= x

print fact

(因子零是一个,对于任何不知道的人 - 我必须查阅.8-)

你需要冒号后if,else,for等的方式,以及for在Python的工作原理是不同C.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有