函数和常用模块【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 ...
随机推荐
- github链接地址及
http://www.github.com/houyanan1/test.git git 在本地创建分支,并且已经在该分支中开发了一段时间,那么commit到本地后,代码会做一个提交快照,在本地分支保 ...
- Ajax cross domain
xhrFields:{ withCredentials:true}, https://stackoverflow.com/questions/2054316/sending-credentials-w ...
- 基于Windows Subsystem for Linux (WSL) 【Ubuntu】在WIN10 Home Edition安装Docker
root@Andy-PC:~# uname -a Linux Andy-PC --Microsoft #-Microsoft Fri Apr :: PST x86_64 x86_64 x86_64 G ...
- SQLSERVER 2014 内存优化表相关
更新了SP2的补丁能够解决 不能收缩日志文件的bug了. 但是因为已经不用内存优化表了, 所以想着能够删除内存优化表的file group 但是发现 很难删除 先说结论: 以下是针对内存优化文件组的 ...
- php的四种基本算法
/* 冒泡算法:结果从小到大,规则类似波浪推动的沙滩,先初始阈值为 0,初始第一次波浪之后,如果发现有左值比右边的大,就改变阈值并且完成波浪推动,重新初始化阈值为0,如此往复,直到没有阈值改变的情况出 ...
- 03 基于umi搭建React快速开发框架(封装列表增删改查)
前言 大家在做业务系统的时候,很多地方都是列表增删改查,做这些功能占据了大家很长时间,如果我们有类似的业务,半个小时就能做出一套那是不是很爽呢. 这样我们就可以有更多的时间学习一些新的东西.我们这套框 ...
- BZOJ3456 城市规划(多项式求逆)
设f[i]为连通图的数量,g[i]为不连通图的数量,显然有f[i]=2i*(i-1)/2-g[i],g[i]通过枚举1所在连通块大小转移,有g[i]=Σf[j]*C(i-1,j-1)·2(i-j)*( ...
- Get The Treasury HDU - 3642(扫描线求三维面积交。。体积交)
题意: ...就是求体积交... 解析: 把每一层z抽出来,计算面积交, 然后加起来即可..! 去看一下 二维面积交的代码 再看看这个三维面积交的代码.. down函数里 你发现了什么规律!!! 参考 ...
- 【POJ3045】Cow Acrobats(贪心)
BUPT2017 wintertraining(16) #4 B POJ - 3045 题意 n(1 <= N <= 50,000) 个牛,重wi (1 <= W_i <= 1 ...
- Leetcode 66.加一 By Python
思路 如果单独操作最后一个元素,令其加一,满十进一,会挺麻烦的,要分情况. 所以我的思路是将list还原到字符串,再变成数值,直接+1,然后再还原到list.详见代码 代码 class Solutio ...