Python之随机数

痴心易碎 提交于 2020-02-13 17:24:39

首先,我们将Python中的随机函数列出来,然后再进行详细讲解
Python中主要有8中随机函数,分别是:

  • choice(seq)
  • randrange([start,]stop[,step])
  • random()
  • seed([x])
  • shuffle(lst)
  • uniform(x,y)
  • randint(x,y)
  • sample(sequence,length)
    需要注意的是,这些方法是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法

1.choice(seq)
choice(seq)方法返回一个列表,元祖或者字符串当中的一个随机项。

import random

print('返回列表[1,2,3,4,5]中的一个随机项:',random.choice([1,2,3,4,5]))
print('返回range(100)当中的一个数:',random.choice(range(100)))
print('返回字符串'range'中的一个字符:',random.choice('range'))

运行结果:

返回列表[12345]中的一个随机项:2
返回range(100)当中的一个数: 68
返回字符串'range'中的一个字符: g

2.randrange()
randrange([start,]stop[,step])返回一个从start开始,到stop结束的随机数,包含start,不包含stop,step为步长,默认步长为1.

import random

print('从1到100随机选取一个偶数',random.randrange(0,100,2))
print('从1到100随机选取一个奇数',random.randrange(1,100,2))

3.random()
随机生成一个随机数,范围在0到1之间,没有参数。

4.seed([x])
修改随机数种子。x可以是任意数字
当我们调用random.random()时,每一次生成的随机数都是随机的,但是如果我们先修改了随机数种子,如seed(3),然后调用random.random()将生成一个随机数,第二次再调用random.random()将生成和第一次调用时一样的随机数。

5.shuffle(lst)
将lst列表中的元素随机排序

import random
list=[20,15,4,5]
random.shuffle(list)
print('将列表[20,15,4,5]随机排序',list)

6.uniform(x,y)
随机生成一个数,在x和y之间。

import random
print('随机生成一个(5,10)之间的浮点数',random.uniform(5,10))
print('随机生成一个(5,10)之间的两位浮点数',random.uniform(5,10)2)

7.randint(x,y)
随机生成一个(x,y)之间的整数,

import random
print(random.randint(2222,4444))

8.sample(seq,length)
从指定的序列中,随机截取指定长度的片段,不会修改原序列

import random
list=random.sample('abcd1234',3)
str=''.join(list)
>>str
>>'a31d'
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!