Python内置模块之random
一 概述
random模块就是取随机数的模块,主要用来做如下四件事情
- 取随机小数 用的比较少,再并发编程中可能会用到
- 取随机整数 用的比较多
- 从一个列表重随机抽取值
- 打乱一个列表的顺序
二: 随机取小数
- random.random # 返回一个随机的小数
- ramdom.uniform # 按照一个区间返回一个小数
2.1 random
import random # 导入random模块
print(random.random()) # 调用random属性方法,返回值是一个小数
# 0.07819825943946712
2.2 uniform
import random # 导入random模块
print(random.uniform(0,1)) # 随机生成一个0-1之间的小数
print(random.uniform(1,2)) # 随机生成一个1-2之间的小数
三 取随机整数
- random.randint # 返回一个整数 闭区间取值
- random.randrange # 返回一个整数 顾首不顾尾,也可以指定间隔
- 例如彩票 抽奖等
3.1 randint
import random # 导入random模块
print(random.randint(1,5)) # 随机打印一个1-5之前的整数,包括1和5
3.2 randrange
import random
print(random.randrange(1,2)) # 会一直取1 不包括2
print(random.randrange(1,100,2)) # 再1到100中取间隔为2的整数,不包括100
四: 从一个列表中随机取值
- random.choice # 从中选择一个元素返回,多次choice可能取到同一个值
- random.sample # 从中选择多个元素返回 ,取到的多个值不可能重复
4.1 choice
import random
l = ['wangys',18,(1,2)]
print(random.choice(l))
4.2 sample
import random
l = ['wangys',18,(1,2)]
print(random.sample(l,2))
五: 打乱一个列表的顺序
打乱原列表的顺序,并不会产生一个新的列表
例如字牌,麻将游戏洗牌等
5.1 shuffle
import random # 导入random模块
l = [1,2,3,4,5] # 定义一个l列表
random.shuffle(l) # 打乱顺序
print(l) # 查看已经打乱顺序的列表
六: 练习题
6.1 生成一个随机验证码
需求:
- 一个随机验证码
- 可以进行选择是纯数字还是字母数字组合
- 可以选择位数
- 默认6位
import random
def createIdentifyingCode(n = 6,alpha = True):
s = ''
for i in range(n):
res = str(random.randint(0,9))
if alpha:
alpha_upper = chr(random.randint(65,90))
alpha_lower = chr(random.randint(97,122))
res = random.choice([res,alpha_lower,alpha_upper])
s += res
return s
print(createIdentifyingCode())
print(createIdentifyingCode(alpha=False))
6.2 发红包
- 拼手气红包
- 用户输入金额和红包数量
- 要注意每个人抢到红包的几率是一样的
Python内置模块之random的更多相关文章
- 8.python内置模块之random模块简介
Python中的random模块用于生成随机数. 常用的7个函数: 1.random.random():返回一个[0,1)之间的随机浮点值(双精度) 2.random.uniform(a,b):返回[ ...
- python内置模块(4)
这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect ...
- Python学习笔记【第八篇】:Python内置模块
什么时模块 Python中的模块其实就是XXX.py 文件 模块分类 Python内置模块(标准库) 自定义模块 第三方模块 使用方法 import 模块名 form 模块名 import 方法名 说 ...
- python内置模块[sys,os,os.path,stat]
python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...
- python之模块random,time,os,sys,序列化模块(json,pickle),collection
引入:什么是模块: 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类型. 1.使用python编写的代码(.py ...
- python内置模块介绍(一)
本文主要介绍模块列表如下: os sys re time datetime random shutil subprocess os模块 os.getcwd() ...
- Python中的random模块,来自于Capricorn的实验室
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python中的random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- python学习之random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
随机推荐
- 解决win10中chm内容显示为空白的问题
在win10中打开chm文件,一般会是这个效果,内容显示为空白: 解决这个问题的方法是,在打开chm文件时,会有个安全警告的询问对话框,如下: 将[打开此文件前总是询问(W)]复选框的勾去掉,就OK了 ...
- Mudo C++网络库第二章学习笔记
线程同步的精要 并发有两种基本的模型: 一种是message passing(消息传递); 另一种是shared memory(共享内存); 在分布式系统中(有多台物理机需要通信), 运行在多台机器上 ...
- <杂记>该换个背景图了
..当然我刚开始也是懵逼的,我有发现这里可以写css,但是还是缺个图片地址,想了想,这不是还有个相册功能吗. 那应该就是把自己要换的图片上传到相册吧. 右击图片,选择检查元素找到图片的src 如:ht ...
- $Django 客户端->wsgi->中间组件->urls->views(model,template) 总结+补充(事物,choices,inclusion_tag)!
1 HTTP协议:(重点) -请求 -请求首行 -GET /index HTTP/1.1 \r\n -请求头部 -key:value------>\r\n分割 _ke ...
- ansible结合zabbix_api批量添加主机
批量添加zabbix监控 .使用ansible配置zabbix客户端 ①修改服务器的IP(域名),为了方便使用ansible来批量操作 等同于如下sed语句 sed -i 's#Server=1.1. ...
- 修改JDK版本配置
我使用的maven是3.0.5版本的,在创建项目的时候,默认使用的jdk为1.5版本 在项目的pom.xml中添加如下配置可修改使用的jdk版本. <properties> <!-- ...
- Light OJ 1009
题意: 给你一个二分图, (可能不连通) 求可能多的子集元素个数: 思路: 直接DFS 给二分图染色就有了, 统计联通块中个数, 去最大值相加即可. #include<bits/stdc++.h ...
- JS ----实现复制粘贴功能 (剪切板应用clipboardData)
注意:ie7,与ie8 对网页有个复制的权限,需在“安全”中的“自定义级别”的脚本中设置 clipboardData 对象 提供了对剪贴板的访问. 三个方法 :1.clearData(sDataFor ...
- [nodejs]er_bad_field_error NaN in where clause
1 前言 nodejs 运行时,出现以下情况er_bad_field_error NaN in where clause. 2 分析 原来是userid = NAN传进来了,生成userid时出错了. ...
- Swap交换分区概念
什么是Linux swap space呢?我们先来看看下面两段关于Linux swap space的英文介绍资料: Linux divides its physical RAM (random acc ...