生成0到9之间的随机整数

我如何在Python中产生0到9(含)之间的随机整数?

0

尝试:

 from random import randint print(randint(0, 9)) 

更多信息: https : //docs.python.org/3/library/random.html#random.randint

 import random print(random.randint(0,9)) 

 random.randint(a, b) 

返回一个随机整数N,使得a <= N <= b。

文档: https : //docs.python.org/3.1/library/random.html#random.randint

尝试这个:

 from random import randrange, uniform # randrange gives you an integral value irand = randrange(0, 10) # uniform gives you a floating-point value frand = uniform(0, 10) 
 from random import randint x=[randint(0,9) for p in range(0,9)] 

在0到9的范围内生成10个伪随机整数。

secrets模块在Python 3.6中是新的。 这比密码学或安全用途的random模块更好。

要随机打印包含范围内的整数0-9:

 from secrets import randbelow print(randbelow(10)) 

有关详细信息,请参阅PEP 506 。

试试通过random.shuffle

 >>> import random >>> nums = [x for x in range(10)] >>> random.shuffle(nums) >>> nums [6, 3, 5, 4, 0, 1, 2, 9, 8, 7] 

在连续数字的情况下, randintrandrange可能是最好的select,但是如果你在一个序列(即list )中有几个不同的值,你也可以使用choice

 >>> import random >>> values = list(range(10)) >>> random.choice(values) 5 

choice也适用于来自不连续样本的一个项目:

 >>> values = [1, 2, 3, 5, 7, 10] >>> random.choice(values) 7 

如果你需要它“密码强大”,那么在python 3.6和更新版本中也有一个secrets.choice

 >>> import secrets >>> values = list(range(10)) >>> secrets.choice(values) 2 

如果你想使用numpy然后使用以下内容:

 import numpy as np print(np.random.randint(0,10)) 

select数组的大小(在这个例子中,我select了大小为20)。 然后,使用以下内容:

 import numpy as np np.random.randint(10, size=(1, 20)) 

您可以期望看到下面的forms的输出( 每次运行它时都会返回不同的随机整数;因此可以预期输出数组中的整数与下面给出的示例不同 )。

 array([[1, 6, 1, 2, 8, 6, 3, 3, 2, 5, 6, 5, 0, 9, 5, 6, 4, 5, 9, 3]]) 
 >>> import random >>> random.randrange(10) 3 >>> random.randrange(10) 1 

要获得十个样品的列表:

 >>> [random.randrange(10) for x in range(10)] [9, 0, 4, 0, 5, 7, 4, 3, 6, 8] 

random.sample是另一个可以使用的

 import random n = 1 # specify the no. of numbers num = random.sample(range(10), n) num[0] # is the required number 

最好的方法是使用导入随机函数

 import random print(random.sample(range(10), 10)) 

或没有任何图书馆的import:

 n={} for i in range(10): n[i]=i for p in range(10): print(n.popitem()[1]) 

这里popitems从字典n删除并返回一个任意的值。

我用variables来控制范围

 from random import randint numberStartRange = 1 numberEndRange = 9 randomNumber = randint(numberStartRange, numberEndRange) print(randomNumber) 

我使用打印function来查看结果。 如果你不需要这个,你可以发表评论。

原始问题意味着生成多个随机整数。

如何在Python中生成0到9之间的整数(包含)?

然而,许多回应只显示如何得到一个随机数字,例如random.randintrandom.choice

多个随机整数

为了清楚起见,您仍然可以使用这些技术通过迭代N次来生成多个随机数字:

 import random N = 5 [random.randint(0, 9) for _ in range(N)] # [9, 7, 0, 7, 3] [random.choice(range(10)) for _ in range(N)] # [8, 3, 6, 8, 7] 

随机整数的例子

一些post演示如何本机生成多个随机整数。 1以下是一些解决隐含问题的选项:

random.sample从一个总体中返回k唯一的select(无replace): 2

 random.sample(range(10), k=N) # [4, 5, 1, 2, 3] 

在Python 3.6中, random.choices返回一个总体(有replace)的kselect:

 random.choices(range(10), k=N) # [3, 2, 0, 8, 2] 

1 @John Lawrence Aspden @SThamham @SiddTheKid @ user14372 @zangw等人。

2 @prashanth提到这个模块显示一个整数。

对于Python 3.6,我有更好的运气

 str_Key = "" str_RandomKey = "" for int_I in range(128): str_Key = random.choice('0123456789') str_RandomKey = str_RandomKey + str_Key 

只要添加像“ABCD”和“abcd”或“^!〜= – >”这样的字符来改变字符池的拉取范围,改变范围来改变生成的字符数。