博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python的random模块
阅读量:5795 次
发布时间:2019-06-18

本文共 2210 字,大约阅读时间需要 7 分钟。

random模块是python中一个生成随机数的模块。

random不是python解释器内置的模块。

导入random模块的方法是:

import random

如果只使用random模块中的单个方法的话,也可以使用

from random import method_name

例如:

我只想生成一个10以内的随机的整数,不需要random模块的别的方法的时候,也可以使用以下命令

from random import randintrandom.randint(0,10)

查看random模块的内置方法可以使用以下命令:

dir(random)

其中常用的方法有下面几个:

choice

#从一个非空列表中随机选择一个元素>Choose a random element from a non-empty sequence.
>>> random.choice([1,3,5,7])1>>> random.choice([1,3,5,7])3

randint

#从a和b(包括b)的范围内随机生成一个整数>Return random integer in range [a, b], including both end points.
>>> random.randint(0,9)8>>> random.randint(0,9)0>>> random.randint(0,9)4>>> random.randint(0,9)3

random

#生成一个0(包括0)到1内的浮点数>random() -> x in the interval [0, 1).
>>> random.random()0.3898009217264272>>> random.random()0.897328889551127>>> random.random()0.9899842422616898

randrange

#在指定范围内随机生成一个整数> Choose a random item from range(start, stop[, step]).This fixes the problem with randint() which includes theendpoint; in Python this is usually not what you want.
>>> random.randrange(100,200)156>>> random.randrange(100,200)133>>> random.randrange(10,20)11>>> random.randrange(10,20)15

sample

#从一个列表或集合中随机选择多个元素>Chooses k unique random elements from a population sequence or set.
>>> random.sample([23,[1,2,3],"aa","yy"],2)['aa', 23]>>> random.sample([23,[1,2,3],"aa","yy"],3)['aa', [1, 2, 3], 23]

shuffle

#把一个列表内元素的顺序打乱,列表的内存地址不变>Shuffle list x in place, and return None.
>>> l1=[1,"a",3,5,"b","c"]>>> id(l1)140436582171208>>> random.shuffle(l1)>>> print(l1)[1, 'b', 'a', 'c', 3, 5]>>> id(l1)140436582171208

uniform

#在指定范围内随机生成一个浮点数>Get a random number in the range [a, b) or [a, b] depending on rounding.
>>> random.uniform(12,33)27.02416276339153>>> random.uniform(12,33)13.832414985007832>>> random.uniform(12,33)12.827493699496461

现在想生成一个5位包含大小写和数字的随机验证码,代码如下:

import randomdef random_code():    random_str = ""    for i in range(5):        #随机选择一个整数        num=random.randint(0,9)        #生成一个大写字母        upper=chr(random.randint(65,90))        #生成一个小写字母        lower=chr(random.randint(97,122))        #每次从大小写字母中随机选择一位        res=random.choice([str(num),upper,lower])        random_str+=res    return random_strprint(random_code())

运行5次这个程序,生成的验证码如下:

KwlTN
t1Pag
294l6
t1Pag
294l6

转载地址:http://kebfx.baihongyu.com/

你可能感兴趣的文章
html5纲要,细谈HTML 5新增的元素
查看>>
Android应用集成支付宝接口的简化
查看>>
Hichart 资料收集
查看>>
C#开发微信门户及应用(12)-使用语音处理
查看>>
[分享]Ubuntu12.04安装基础教程(图文)
查看>>
数据集成之主数据管理(一)基础概念篇
查看>>
[Vim] 搜索模式(正则表达式)
查看>>
#HTTP协议学习# (二)基本认证
查看>>
Android开发之线性布局详解(布局权重)
查看>>
WCF
查看>>
remoting方式
查看>>
django 目录结构修改
查看>>
win8 关闭防火墙
查看>>
OAF_文件系列2_实现OAF导出CSV格式文件ExportButton(案例)
查看>>
Android实例-录音与回放(播放MP3)(XE8+小米2)
查看>>
构建自己的PHP框架--抽象Controller的基类
查看>>
CSS——(2)与标准流盒模型
查看>>
MYSQL 基本SQL语句
查看>>
Codeforces 451E Devu and Flowers(容斥原理)
查看>>
P2P行业专业术语(最全)
查看>>