函数 randint() 不是 return 整数
Function randint() does not return an integer
我在 Python(我在 Sage 中工作)
中写入一个整数位时遇到了一个奇怪的问题
我第一次尝试运行代码
m=7
m.bits()
那里一切正常。然后,我想用一个随机整数来做到这一点。因此,我尝试 运行 代码
import random
m=randint(2,10)
m.bits()
这就是我收到错误 "AttributeError: 'int' object has no attribute 'bits'" 的地方,好像函数 randint 没有返回整数。我设法通过
强制它成为一个整数
m=m+0
不过,我还是很纳闷为什么第一次写的不行。我不得不说我是在 online sage 上编码的,即使我不认为这应该是个问题。
提前致谢!
对于随机 Sage 整数(使用各种分布),使用 ZZ.random_element
(doc here). Try this example:
a = ZZ.random_element(2,10)
a.bits()
我已经打开 Trac 22131 来澄清这个问题;一个人不应该做这么复杂的事情,顶层可能有一个 random_integer
函数。 (例如,有一个random_prime
。)
我在 Python(我在 Sage 中工作)
中写入一个整数位时遇到了一个奇怪的问题我第一次尝试运行代码
m=7
m.bits()
那里一切正常。然后,我想用一个随机整数来做到这一点。因此,我尝试 运行 代码
import random
m=randint(2,10)
m.bits()
这就是我收到错误 "AttributeError: 'int' object has no attribute 'bits'" 的地方,好像函数 randint 没有返回整数。我设法通过
强制它成为一个整数m=m+0
不过,我还是很纳闷为什么第一次写的不行。我不得不说我是在 online sage 上编码的,即使我不认为这应该是个问题。
提前致谢!
对于随机 Sage 整数(使用各种分布),使用 ZZ.random_element
(doc here). Try this example:
a = ZZ.random_element(2,10)
a.bits()
我已经打开 Trac 22131 来澄清这个问题;一个人不应该做这么复杂的事情,顶层可能有一个 random_integer
函数。 (例如,有一个random_prime
。)