关于python:生成一个随机数

Generate a random number

本问题已经有最佳答案,请猛点这里访问。

我在做一个问题,要求我用random()生成一个0到9999之间的概率相等的数字。我知道我可以通过乘以它来缩放random(),但我得到的主要是4位数。有人知道该怎么做吗?


你得到的是4位数的数字,因为它们是你范围的90%,所以这是意料之中的。但是,您不需要缩放random(),而是使用random.randint


使用randint

1
2
3
4
5
6
>>> import random as r
>>> r.randint(0,9999)
6935
>>> r.randint(0,9999)
5550
>>>


建议,假设您需要一个随机整数:

1
2
from random import randint
print(randint(0,9999))

1
2
3
4
5
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)

如果你想让它们是整数

1
arr = np.round(arr).astype(int)

另请参见此处:np.random.uniform