计算时
math.factorial(100)
我明白了:
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000L
为什么数字末尾有一个L?
答案 0 :(得分:14)
L表示它是long
而不是int
。您看到它的原因是您正在查看repr
long
您可以使用
print math.factorial(100)
或
str(math.factorial(100))
如果您只想要数字
答案 1 :(得分:3)
L
表示它是一个长整数
答案 2 :(得分:0)
我相信您正在使用BigInt,在Python中称为long
- 它根据需要扩展并占用可变数量的RAM。名称long
可能令人困惑,因为这意味着当今少数几种流行语言中的特定字节数。以下内容可帮助您获取存储对象所需的字节数。
Python 2.6.2 (r262:71600, Aug 14 2009, 22:02:40)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import sys
>>> a = 1
>>> sys.getsizeof(a)
12
>>> import math
>>> sys.getsizeof(math.factorial(100))
84
>>> sys.getsizeof(math.factorial(200))
182
>>>
答案 3 :(得分:-1)
你可以使用阶乘计算器代码......
def factorial (number):
product=1;
for i in range(number):
product=product*(i+1)
return product
我没有Python,所以我没有测试代码。我保证这个功能会起作用。