生成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]
在连续数字的情况下, randint
或randrange
可能是最好的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.randint
和random.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)的k
select:
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”或“^!〜= – >”这样的字符来改变字符池的拉取范围,改变范围来改变生成的字符数。