我正在做一个问题,要求我使用random()
以相等的概率生成一个介于0到9999之间的数字。我知道我可以通过乘以random()
来缩放,但是我主要得到的是4位数字。有人知道该怎么办吗?
答案 0 :(得分:1)
建议,假设您想要一个随机整数:
from random import randint
print(randint(0,9999))
答案 1 :(得分:1)
使用class Test:
def __init__(self, value):
self.value = value
def __eq__(self, other):
"""To implement 'in' operator"""
# Comparing with int (assuming "value" is int)
if isinstance(other, int):
return self.value == other
# Comparing with another Test object
elif isinstance(other, Test):
return self.value == other.value
import random
value = 5
test_list = [Test(random.randint(0,100)) for x in range(1000)]
if value in test_list:
print "i found it"
。
randint
答案 2 :(得分:1)
您将获得4位数的数字,因为它们是您范围的90%,因此可以预期。但是,您无需缩放random()
,而使用random.randint
。
答案 3 :(得分:0)
import numpy as np
# retruns n numbers with uniform(equal) propability between a and b
# thus for each x in arr: a <= x < b
arr = np.random.uniform(a, b, n)
如果您希望它们为整数
arr = np.round(arr).astype(int)
另请参见此处:np.random.uniform