Python阶乘程序帮助。
|
这是我写的:
number = raw_input(\'Enter an integer= \')
if number < 0:
print \'Invalid number\'
else:
for k in range(1,(number)):
number *= k
print number
我希望能够输入任何数字(大于0),但是当我输入数字时说4(4的阶乘为24)时出现此错误:
Traceback (most recent call last):
File \"problem.py\", line 6, in <module>
for k in range(1,(number)):
TypeError: range() integer end argument expected, got str.
我不明白这是什么意思,据我所知代码应该可以正常工作,请帮助!
没有找到相关结果
已邀请:
4 个回复
亥套惟间连
您应该知道,这是一种效率低下的学术实现,不应在任何严肃的应用程序中使用。如果您反复使用值,则使用
或
实现和字典缓存来节省计算量会更好很多: http://mathworld.wolfram.com/GammaFunction.html
弦砂牧扁
门锑腺潮
返回字符串,而不是整数。这样创建一个整数:
用户可能会键入除整数以外的其他内容,在这种情况下,您可能要处理这种可能性。
黎喊病