2024-04-18 06:40:36 发布
网友
到目前为止,我发现:
from random import randint randint(100000000000000000000, 999999999999999999999)
输出为:
但我不想让我在那里。。在
如果结尾没有“L”,我只能用它作为int。在
更新
如果目标是简单地有一个30位数长的随机数,那么生成两个小数字然后将它们组合起来会更好吗?在
如果您在交互提示下,显式地print该值。值的repr有一个L,但值的str没有
print
repr
str
>>> 922106555361958347898 922106555361958347898L >>> print 922106555361958347898 922106555361958347898
REPL中的输出以L为后缀;如果打印该值,则不会显示该值。
L
>>> from random import randint >>> print randint(100000000000000000000, 999999999999999999999) 106315199286113607384 >>>
之所以有一个L,是因为它太大了,无法放入int,所以它是long。有关详细信息,请参见文档中的Numeric Types — ^{}, ^{}, ^{}, ^{}。
int
long
那么,你为什么要得到这个L,你如何摆脱它?
Python有两种不同的方法将值转换为字符串表示:
<__main__.Eggs at 0x10fbd8908>
例如,对于字符串,str('abc')是abc,而{}是{}。
str('abc')
abc
对于long,str(1L)是1,而{}是{}。
str(1L)
1
当您在交互提示下键入一个表达式时,它将使用repr。但是当您使用print命令时,它使用str。因此,如果您想看到不带L的值,只需print它:
print randint(100000000000000000000, 999999999999999999999)
如果您想将字符串保存在变量中或将其写入文件,则必须显式调用str。
但如果您只想将其用作数字,则根本不必担心这个问题;它是一个数字,int和{}值可以自由地混合在一起(在python2.3左右)。
如果您试图将其存储在MySQL数据库中,那么无论您使用哪个MySQL接口,都不会关心您是给它int值还是long,只要它们适合列类型。**
或者您可以升级到python3.x,在那里不再有单独的long类型(所有的整数都是int,无论多大),也没有L后缀。
*确切的截止值在任何地方都没有记录,但至少对于CPython来说,它是适合您平台上的Clong的任何东西。因此,在大多数64位平台上,最大值为(1<;<;63)-1;在其他64位平台和所有32位平台上,最大值为(1<;<;31)-1。您可以通过打印sys.maxint在您的平台上亲自查看。无论如何,您的数字需要70位,因此除非有人将python2.x移植到一个具有128位Clongs的平台上,否则它将不适合。
sys.maxint
**请注意,您的值太大,甚至无法容纳MySQL^{},因此您将使用^{} or ^{}。根据您使用的接口以及设置方式,您可能需要手动转换字符串和从字符串转换。但是您可以使用str和int函数来实现这一点,而不必担心哪些值适合int类型,哪些不适合。
如果您在交互提示下,显式地
print
该值。值的repr
有一个L,但值的str
没有REPL中的输出以
L
为后缀;如果打印该值,则不会显示该值。之所以有一个}, ^{}, ^{}, ^{} 。
L
,是因为它太大了,无法放入int
,所以它是long
。有关详细信息,请参见文档中的Numeric Types — ^{那么,你为什么要得到这个
L
,你如何摆脱它?Python有两种不同的方法将值转换为字符串表示:
<__main__.Eggs at 0x10fbd8908>
)。在例如,对于字符串,}是{}。
str('abc')
是abc
,而{对于long,}是{}。
str(1L)
是1
,而{当您在交互提示下键入一个表达式时,它将使用
repr
。但是当您使用print
命令时,它使用str
。因此,如果您想看到不带L
的值,只需print
它:如果您想将字符串保存在变量中或将其写入文件,则必须显式调用
str
。但如果您只想将其用作数字,则根本不必担心这个问题;它是一个数字,}值可以自由地混合在一起(在python2.3左右)。
int
和{如果您试图将其存储在MySQL数据库中,那么无论您使用哪个MySQL接口,都不会关心您是给它
int
值还是long
,只要它们适合列类型。**或者您可以升级到python3.x,在那里不再有单独的
long
类型(所有的整数都是int
,无论多大),也没有L
后缀。*确切的截止值在任何地方都没有记录,但至少对于CPython来说,它是适合您平台上的C
long
的任何东西。因此,在大多数64位平台上,最大值为(1<;<;63)-1;在其他64位平台和所有32位平台上,最大值为(1<;<;31)-1。您可以通过打印sys.maxint
在您的平台上亲自查看。无论如何,您的数字需要70位,因此除非有人将python2.x移植到一个具有128位Clong
s的平台上,否则它将不适合。**请注意,您的值太大,甚至无法容纳MySQL^{} ,因此您将使用^{} or ^{} 。根据您使用的接口以及设置方式,您可能需要手动转换字符串和从字符串转换。但是您可以使用
str
和int
函数来实现这一点,而不必担心哪些值适合int
类型,哪些不适合。相关问题 更多 >
编程相关推荐