本节内容

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)  #不能随机返回5
4
>>> 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个随机数
[310]
>>> 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'  #返回大写字母的字符串

4string.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 random
checkcode = ''
for 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模块(三)的更多相关文章

  1. (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...

  2. python常用模块之random模块

    python常用模块之random模块 在程序中很多会用到随机字符,比如登陆网站的随机验证码,通过random模块可以很容易生成随机字符串 1.random.randrange():返回1-10之间的 ...

  3. python第十七天---时间模块、random模块

    作完一个作业,开始新的学习: 有由今天的时间有限所有学习了以下两个模块,明天继续! 时间模块.random模块 import time #!usr/bin/env python #-*-coding: ...

  4. Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块

    一.前提介绍: 可以开辟作用域的只有类,函数,和模块            for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...

  5. [时间模块、random模块]

    [时间模块.random模块] time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏 ...

  6. python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  7. python常用模块之-random模块

    random模块顾名思义就是生成随机数的模块. random模块有以下常见方法: 1,打印0-1之间的任意随机浮点数,不能指定区间. print(random.random()) 2,打印随机符点数, ...

  8. python学习之【第十六篇】:Python中的常用模块之OS模块、sys模块、random模块

    1. OS模块 OS模块是与操作系统交互的一个接口.内部提供了以下方法: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname& ...

  9. Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)

    本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...

  10. time 模块,random模块,os模块

    一 :time 模块 python中,通常有几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(t ...

随机推荐

  1. C#-ToString格式化

    Int.ToString(format): 格式字符串采用以下形式:Axx,其中 A 为格式说明符,指定格式化类型,xx 为精度说明符,控制格式化输出的有效位数或小数位数,具体如下: 格式说明符 说明 ...

  2. JavaScript 编程易错点整理

    Case 1: 通过getElementById("id")获得是一个DOM元素节点对象: 通过getElementsByTagName("tagName")获 ...

  3. CentOS 7 Install Adobe Flash Player

    From Officail Adobe Flash Site don't down (YUM )adobe-release-x86_64-1.0-1.noarch.rpm,but to downloa ...

  4. Java 泛型 1例

    private <T> T getFirstItem(List<T> list) {        T item = null;        if(list != null ...

  5. 携程Apollo配置中心架构深度剖析

    转自:http://www.uml.org.cn/wfw/201808153.asp 一.介绍 Apollo(阿波罗)[参考附录]是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在 ...

  6. Axure8.0从入门到精通

    1. 新建工程 菜单->File->New 2. 添加组件并编辑组件 选中左侧Libary可选择Default/Flow/Icons,找到相应的组件并移动到工作区:并在右侧选中相应的组件属 ...

  7. python之发送HTML内容的邮件

    # 发送html内容的邮件 import smtplib, time, os from email.mime.text import MIMEText from email.header import ...

  8. Check failed: status == CUBLAS_STATUS_SUCCESS (11 vs. 0) CUBLAS_STATUS_MAPPING_ERROR

    I0930 21:23:15.115576 30918 solver.cpp:281] Learning Rate Policy: multistepF0930 21:23:17.263314 310 ...

  9. ceph API之PHP的客户端连接

    下载v2的SDK开发包http://pear.amazonwebservices.com/get/sdk-latest.zip 解压到目录下: unzip sdk-latest.zip &&a ...

  10. Luogu2264 树上游戏(点分治)

    要统计所有路径的信息,那我们考虑点分治,每次算经过分治中心的路径的贡献.然而路径的颜色数量实在是不好统计,既然只需要求从每个点出发的所有路径的颜色数量之和,那换一种思路,改为求从每个点出发包含某种颜色 ...