【Python】random模块生成多种类型随机数

开发和测试过程中我们经常遇到需要随机数的场景,比如为了用户密码更安全我们有时会加入随机码,也就是将用户原密码连接上一串随机字符然后加密保存,又比如我们可能需要随机展示某张图片等等。这篇文章主要介绍了各种生成随机数的方法,主要用到了random模块。
# 1. 生成随机小数
# 2. 生成随机整数
# 3. 拿指定列表中数据生成随机数
# 4. 获取纯数字可重复随机数
# 5. 获取纯数字不可重复随机数
# 6. 获取数字和字母组合的随机数,可重复

 # 7. 获取数字和字母组合的随机数,不可重复

以下是主要示例代码:

# -*- coding: utf-8 -*-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者:cacho_37967865
#博客:https://blog.csdn.net/sinat_37967865
#文件:randomData.py
#日期:2019-09-02
#备注:多种随机数生成方法   
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''import random# 1. 生成随机小数
def get_random():data1 = random.random()data2 = random.uniform(0,1)print("随机大于0且小于1之间的小数:",data1)print("随机一个大于N小于M的小数:",data2)# 2. 生成随机整数
def get_randint():data1 = random.randint(1,5)data2 = random.randrange(1,10,2)data3 = random.randrange(2, 10, 2)print("随机一个大于等于1且小于等于5的整数:",data1)print("随机一个大于等于1且小于10之间的奇数,其中2表示递增基数:",data2)print("随机一个大于等于1且小于10之间的偶数,其中1表示递增基数:", data3)# 3. 拿指定列表中数据生成随机数
def get_fromList():list = ['123','abc',1,[1,2]]data1 = random.choice(list)data2 = random.sample(list,4)print("从列表随机选择数:",data1)print("从列表随机选择N个数:", data2)          # 拿出来的数不会重复,而且数量要小于等于列表长度random.shuffle(list)print("random.shuffle(list)打乱列表的顺序:", list)# 4. 获取纯数字可重复随机数
def get_verifyCode(n):codes = []for i in range(n):num = str(random.randint(0,9))codes.append(num)code = ''.join(codes)print("生成N位数的数字随机数,可重复:",code)return(code)# 5. 获取纯数字不可重复随机数
def get_difCode(n):codes = []for i in range(10):codes.append(str(i))code = random.sample(codes, n)code = ''.join(code)print("生成N位数的数字随机数,不可重复:",code)return(code)# 6. 获取数字和字母组合的随机数,可重复
def get_mixCode(n):codes = []temp_code = []for i in range(10):codes.append(str(i))for i in range(97,123):codes.append(chr(i))                           # 26个小写英文字母for i in range(97,123):codes.append(chr(i).upper())                   # 26个大写英文字母for i in range(n):n_code = random.choice(codes)temp_code.append(n_code)code = ''.join(temp_code)#print("生成N位数的数字随机数,可重复:",code)return(code)# 7. 获取数字和字母组合的随机数,不可重复
def get_mix_difCode(n):codes = []for i in range(10):codes.append(str(i))for i in range(97,123):codes.append(chr(i))                           # 26个小写英文字母for i in range(97,123):codes.append(chr(i).upper())                   # 26个大写英文字母code = random.sample(codes, n)code = ''.join(code)#print("生成N位数的数字随机数,不可重复:",code)return(code)if __name__ == '__main__':get_random()#get_randint()#get_fromList()#get_verifyCode(6)#get_difCode(6)#get_mixCode(6)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python grpc入门

准备 1.升级pip $ python -m pip install --upgrade pip 2.安装grpc $ python -m pip install grpcio 3.安装grpc tools $ python -m pip install grpcio-tools 4.下载example $ # Clone the repository to get the example code: $ git clone https://github.com/grpc…

【债券】可转换债券基本概念

可转换债券是可转换公司债券的简称,又简称可转债,是一种可以在特定时间、按特定条件转换为普通股票的特殊企业债券。可转换债券兼具债权和期权的特征。 可转债重要概念 正股价格:债券对应的股票的交易价格;转股价:以…

grpc例子

什么是RPC RPC(Remote Procedure Call Protocol)-- 远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络协议的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序…

【股票】融资融券基本概念

融资融券交易(securities margin trading)又称“证券信用交易”或保证金交易,2008年4月23日国务院颁布的《证券公司监督管理条例》对融资融券做了如下定义:融资融券业务,是指在证券交易所或者国务院批准的其他证券交易场所进行的证券交易中&a…

python 字符串中特定字符替换,截取

特定字符串替换 t2018-08-07 t1t.replace(-,) print(t1) #输出为20180807 字符串截取与拼接 pathE:/项目/Djangocode/RSMDSys/static/imagedata/1535974092.287188.jpg path1path.split(/) print(path1:,path1) path2path.split(/,4) print(path2:,path2) print(type(path2…

【性能测试】性能测试的基础理论

转发自博客园贺满:https://www.cnblogs.com/puresoul/p/5456855.html ,有删减。 随着软件行业的快速发展,现代的软件系统越来越复杂,功能越来越多,测试人员除了需要保证基本的功能测试质量,性能也随越来越受…

MySQL 处理插入重主键唯一键重复值办法

本篇文章主要介绍在插入数据到表中遇到键重复避免插入重复值的处理方法,主要涉及到IGNORE,ON DUPLICATE KEY UPDATE,REPLACE;接下来就分别看看这三种方式的处理办法。 IGNORE 当使用INSERT语句向表中添加一些行数据并且在处理期间发生错误时,…

【性能测试】性能测试的基本流程

转发自博客园贺满:https://www.cnblogs.com/puresoul/p/5463477.html,有删减。 本文主要介绍下性能测试的基本流程,性能测试从实际执行层面来看,测试的过程一般分为这么几个阶段,如下图: 下面分别介绍下每个…

python logging模块学习

python 的日志logging模块学习 1.简单的将日志打印到屏幕 import logging logging.debug(This is debug message) logging.info(This is info message) logging.warning(This is warning message) 屏幕上打印: WARNING:root:This is warning message 默认情况下,…

【性能测试】性能测试工具选择

转发自博客园贺满:https://www.cnblogs.com/puresoul/p/5503134.html,有删减。 本篇文章主要简单总结下性能测试工具的原理以及如何选型。性能测试和功能测试不同,性能测试的执行是基本功能的重复和并发,需要模拟多用户&#xff0…

python 将图片与字符串相互转换

import base64 image1.jpg#将图片encode为二进制字符串方法一 with open(image,rb) as f:strbase64.b64encode(f.read()) print(type(str))#将图片encode为二进制字符串方法二 fopen(image,rb) f_strbase64.b64encode(f.read()) f.close() print(type(f_str))#将二进制字符串&a…

【测试工具】禅道项目管理工具设置触发邮箱

禅道支持邮件提醒,当需求、任务、bug等发生变化的时候,可以发邮件提醒。 禅道提醒邮件默认通知范围(禅道9.8版本,可以在 后台-消息-设置中设置哪些动作需要发信): 1、Bug:指派给抄送 添加&#…

python文件地址拼接

方法一: jmeter_config os.path.join(os.getcwd(), rconf/config.jmx)#运行结果 #E:\项目\gRPC\test #E:\项目\gRPC\test\conf/config.jmx 方法二: file_address "./fileimage/" image r".jpg" print(file_address) #运行结果…

【性能测试】Linux系统监控-Top命令

前面转载的三篇文章主要介绍了性能测试的相关概念,其中有提到服务器,服务器的配置是性能测试中必须考虑的,而且性能测试中也必须监控服务器。 这篇文章主要介绍一下如何通过Linux服务器自带的top命令监控运行情况,以下是直接top命…

【性能测试】Linux系统监控-CPU信息

我们知道CPU对于服务器来说非常重要,下面我们从几个方面介绍linux服务器CPU相关信息: 先要理解以下几个概念: 1、一台物理机的物理CPU的个数 2、一个CPU上的核数 3、一个核上面支持的线程数 有下面的计算公式: 总核数 物理C…

python json文件传输图片

第一步、将图片转为str image1.jpg print(type(image)) def imageToStr(image):with open(image,rb) as f:image_bytebase64.b64encode(f.read())print(type(image_byte))image_strimage_byte.decode(ascii) #byte类型转换为strprint(type(image_str))return image_str image1…

python时间time模块介绍

先看几个概念: 时间戳:从1970年1月1日00:00:00开始按秒计算的偏移量。举个例子,现在是2017年6月11的下午16:54:32,那么print(time.time())输出的值是1497171320.99就代表现在的时间戳。 元组(struct_time)…

【Linux】Linux简介以及 与UNIX区别

一直以来对Linux、Unix、linux内核、linux发行版的概念比较模糊,最近查找资料并经过自己的整理,主要总结了Linux和UNIX的区别和联系、内核和操作系统的关系、Linux操作系统和结构、发行版本CentOS介绍。 Linux 和 UNIX 的关系/区别 Linux 是一个类似 U…

python 数据库查询返回list或tuple

MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictCursor就行。 默认程序: import MySQLdb db MySQLdb.connect(ho…

【视频】视频文件格式和视频编码

我们经常在电脑、电视、手机或者其他终端产品看视频,我们对视频有个大概了解,比如清晰度、大小、视频类型等,但是对于视频内部结构我们应该一无所知,现在我们来一步一步解开视频的神秘面纱。 首先大家要清楚两个概念,视…