python random随机模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python random随机模块相关的知识,希望对你有一定的参考价值。

一、random随机数模块

1、取0-1之间随机的浮点数

>>> import random         //导入random模块

>>> random.random()       //random方法为取0-1之间的随机浮点数

0.36983506915898345

那么可不可以在指定范围内取随机浮点数呢?

>>> random.uniform(1,3)                //使用uniform方法

1.0276983956141716



2、取指定范围内的随机整数

>>> random.randint(1,3)           //小括号中需要指定范围,注意:这里的1-3都能随机取到(1,2,3)

1

>>> random.randrange(1,3)         //randrange是含头不含尾,所以随机取的值就是(1,2)

2

那能不能从列表或者字符串中随机取呢?

>>> random.choice("hello")        //使用choice方法来达到效果

'l'

>>> random.choice([1,2,3])

2


3、从序列中随机取两位

>>> random.sample("hello",2)      //括号中要传递两个参数

['e', 'h']

>>> random.sample("hello",2)

['o', 'l']


4、把列表中元素的顺序打乱

>>> l1 = [1,2,3,4,5]

>>> random.shuffle(l1)     //使用shuffle方法可以把列表元素的顺序打乱

>>> l1

[4, 2, 1, 5, 3]


小练习:使用random模块生成验证码

小知识:ASCII中65-90是A-Z的字母

import random

member = ""

for i in range(4):

  current = random.randrange(0,4)

  if current == i:

    tmp = chr(random.randint(65,90))

  else:

    tmp = random.randint(0,9)

  member += str(tmp)

print(member)


脚本拆解:

  定义一个空变量用来接收随机验证码,使用for循环循环数字,在循环内生成一个与之范围相同的验证码,用随机数和循环数字做匹配,如果配对成功输出大写字母,如果没匹配上,输出0-9之间的任意整数,最后把混合值赋值给初始的空变量。

以上是关于python random随机模块的主要内容,如果未能解决你的问题,请参考以下文章

Python随机random模块

python模块之random模块

Python模块——random随机模块

python random随机模块

Python-随机模块-random

python基础学习random随机数模块