函数和常用模块【day06】:random模块(三)
本节内容
1、简述
2、random模块
3、string模块
4、生成随机数
一、简述
我们经常会使用一些随机数,或者需要写一些随机数的代码,今天我们就来整理随机数模块:random模块
二、random模块
1、random.random()
功能:随机返回一个小数
|
1
2
3
|
>>> import random>>> random.random()0.14090974546903268 #随机返回一个小数 |
2、random.randint(a,b)
功能:随机返回a到b之间任意一个数,包括b
|
1
2
3
4
5
|
>>> import random>>> random.randint(1,5)5 #可以返回5>>> random.randint(1,5)2 |
3、random.randrange(start, stop=None, step=1)
功能:随机返回start到stop,但是不包括stop值
|
1
2
3
4
5
|
>>> import random>>> random.randrange(5) #不能随机返回54>>> random.randrange(5)1 |
4、random.sample(population, k)
功能:从population中随机获取k个值,以列表的形式返回
|
1
2
3
4
5
|
>>> import random>>> random.sample(range(10),3) #从0-9返回3个随机数[3, 1, 0]>>> random.sample('abcdefghi',3) #从'abcdefghi'中返回3个字符['a', 'h', 'b'] |
三、string模块
1、string.ascii_letters
功能:返回大小写字母的字符串
|
1
2
3
|
>>> import string>>> string.ascii_letters'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' #返回大小写字母字符串 |
2、string.ascii_lowercase
功能:返回小写字母的字符串
|
1
2
3
|
>>> import string>>> string.ascii_lowercase'abcdefghijklmnopqrstuvwxyz' #返回小写字母的字符串 |
3、string.ascii_uppercase
功能:返回大写字母的字符串
|
1
2
3
|
>>> import string>>> string.ascii_uppercase'ABCDEFGHIJKLMNOPQRSTUVWXYZ' #返回大写字母的字符串 |
4、string.digits
功能:返回0-9数字的字符串
|
1
2
3
|
>>> import string>>> string.digits'0123456789' #返回0-9数字的字符串 |
5、string.punctuation
功能:返回所有特殊字符,并以字符串形式返回
|
1
2
3
|
>>> import string>>> string.punctuation'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' #返回所有特殊字符,并以字符串的形式返回 |
四、生成随机数
1、用random和string模块生成随机数
|
1
2
3
4
5
6
|
>>> import random,string>>> str_source = string.ascii_lowercase + string.digits #大写字母字符和0-9数字字符串拼接>>> random.sample(str_source,6) #取6个随机字符['f', '1', 'a', 'm', 'j', 'h']>>> ''.join(random.sample(str_source,6)) #生成一个随机数字符串'f84bsj' |
2、程序实现
|
1
2
3
4
5
6
7
8
9
10
|
import randomcheckcode = ''for i in range(4): current = random.randrange(0,4) if current != i: #如果当前的loop i不等于随机数,就取出65-90中的随机字符 temp = chr(random.randint(65,90)) else: temp = random.randint(0,9) checkcode += str(temp)print(checkcode) |
函数和常用模块【day06】:random模块(三)的更多相关文章
- (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
- python常用模块之random模块
python常用模块之random模块 在程序中很多会用到随机字符,比如登陆网站的随机验证码,通过random模块可以很容易生成随机字符串 1.random.randrange():返回1-10之间的 ...
- python第十七天---时间模块、random模块
作完一个作业,开始新的学习: 有由今天的时间有限所有学习了以下两个模块,明天继续! 时间模块.random模块 import time #!usr/bin/env python #-*-coding: ...
- Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块
一.前提介绍: 可以开辟作用域的只有类,函数,和模块 for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...
- [时间模块、random模块]
[时间模块.random模块] time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏 ...
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- python常用模块之-random模块
random模块顾名思义就是生成随机数的模块. random模块有以下常见方法: 1,打印0-1之间的任意随机浮点数,不能指定区间. print(random.random()) 2,打印随机符点数, ...
- python学习之【第十六篇】:Python中的常用模块之OS模块、sys模块、random模块
1. OS模块 OS模块是与操作系统交互的一个接口.内部提供了以下方法: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname& ...
- Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)
本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...
- time 模块,random模块,os模块
一 :time 模块 python中,通常有几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(t ...
随机推荐
- navicat有数据额结构同步
这个功能可能检查两个库的表结构异同,进行表结构构同步,可以生成同步语句. 比如在测试环境表中新增了字段,可以通过这个工具进行表结构同步.
- ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression笔记
前言 致力于滤波器的剪枝,论文的方法不改变原始网络的结构.论文的方法是基于下一层的统计信息来进行剪枝,这是区别已有方法的. VGG-16上可以减少3.31FLOPs和16.63倍的压缩,top-5的准 ...
- mybatis逆向工程生成example的问题
如果不想生成example,在 targetRuntime="MyBatis3" 处修改为 targetRuntime="MyBatis3Simple" & ...
- Windows Server 2008 双网卡 断网问题 总结
实施现场的情况,一个网卡接得是聚合APN的子网,一个网卡是借得局域网. 运行一份数据收发程序,从APN网接入数据,发送给局域网,程序启动一会儿后就崩溃,此时测试网卡就Ping网关了,或者是时断时续,逐 ...
- Docker 修改默认存储路径的一个方法
1. 前期安装创建centOS的虚拟机时发现自己对linux的挂载点不清楚, 造成挂载点的分配不太均匀,如图: root / 节点的大小设置的比较小 /home路径设置的一直比较大 但是docker ...
- Android控件第4类——ProgressBar
ProgressBar是进度条,是比较常用的控件.它有一个抽象的子类——AbsSeekBar,AbsSeekBar有两个比较常用子类,SeekBar.RatingBar. 1.ProgressBar, ...
- sql优化问题笔记(mysql)
相信大家平时面试都会遇到这个问题:平时你都是怎么对sql进行调优的? 此篇文章相当于一个随便笔记,根据朋友们的聊天记录整理而成,如有不对,请指正! 注意:这篇是以mysql整理的 查看sql计划分析 ...
- 配置自己的Maven方式并使用Maven 运行项目Idea的maven的项目
(1) 当安装了 maven之后,需要导入项目代码,然后编译执行: 打开Idea ==>然后点击小扳手==>在搜索框中输入maven==>然后找到 Maven home direct ...
- Mysql 乐观锁
转载:http://chenzhou123520.iteye.com/blog/1863407 乐观锁介绍: 乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般 ...
- html5 sessionStorage VS loaclStorage
localStorage:沒有時間限制的存儲,數據一致存在 sessionStorage:針對一個session的存儲,會話頁面關閉后,數據被刪除 以前這些都是通過cookie來完成的,但是cooki ...