Python 中 随机数 random库 学习与使用

        python中的随机数应用大体包含,随机整数随机浮点数 和 获取随机数序列三类。

一. 随机整数

1.1 随机整数,包含上下限(闭区间)

randint(a, b):随机选取 [a, b] 之间的一个整数,随机整数包含a 和 b,因此是左右闭区间。

# random.randint(a, b)
r = random.randint(0, 100)
print(r)

1.2 随机整数,包含下限,不包含上限(区间左闭右开 )

randrange(a, b):随机选取 [a, b) 之间的一个整数,随机整数包含a,不包含b。

randrange包含三个参数:

1. start :下限

2. stop :上限

3. step :可选参数,用于设置步长

# random.randrange(a, b)
r = random.randrange(0, 100)

# 设置步长
r = random.randrange(0, 100, 5)
print(r)

# output,因为设置了步长5,所以只能从0,5,10,15,...,95,之间随机
35

二. 随机浮点数

 2.1 随机0~1之间的浮点数,!包含0,不包含1

r = random.random()
print(r)

2.2  随机区间内的浮点数

        random.uniform(a, b):随机闭区间 [a, b] 内的浮点数,其中不限制 a 和 b 的大小。

# random.uniform(a, b)
# 随机选取闭区间[20, 50]内的一个浮点数
r = random.uniform(20, 50)

# 随机选取闭区间[1, 15]内的一个浮点数
r = random.uniform(15, 1)

三. 序列相关随机

3.1 从已有的序列中随机选择其中一个元素 或 多个元素(可重复,放回采样)

        (1) random.choice(a):从有序序列里随机获取一个其中数据(有序序列包括字符串、列表、元组等)。     

# 1. 从字符串中随机选取一个字符
r = random.choice('abcdefg')
print(r)
# 2. 从元组中随机选取一个元素
r = random.choice(('aa', 'bb', 'cc', 'dd'))
print(r)
# 3. 从list列表中随机选取一个元素
r = random.choice(['a1', 'a2', 'a3', 'a4'])
print(r)
# 4. 从含有多个类型元素的list列表中选取多个元素
r = random.choice([1, 'abc', ('e, f')])
print(r)


# output
# b
# aa
# a4
# abc

        (2) random.choices(a,weight,k):从有序序列里随机获取多个其中数据(有序序列包括字符串、列表、元组等)。

random.choices() 包含三个参数:

1. a :有序序列,从该序列中随机选择 1个 或 多个元素

2. weight :可选参数,表示概率,如果不设置就默认每个数据被取到的概率相同

3. k :可选参数,表示随机获取的次数

返回值:列表类型,内部元素可重复

# 当元素集合是list时
# 1. 默认等概率取值,取2次
r = random.choices(['a1', 'a2', 'a3', 'a4'], k = 2)
print(type(r))
print(r)

# output
# <class 'list'>
# ['a3', 'a2']

# 2. 指定不同元素被获取的概率,取2次
r = random.choices(['a1', 'a2', 'a3', 'a4'], weights=[6, 1, 1, 1], k = 2)
print(r)

# output, 可知a1被获取的概率是60%,
# ['a1', 'a1']

        注意!:当元素列表是 list字符串 或 元组 时,random.choices()返回值类型也是 list

# 元组类型
t = ('t1', 't2', 't3', 't4')
print(type(t))
r = random.choices(t, weights=[1, 1, 1, 6], k = 2)
print(type(r))

# output
# <class 'tuple'>
# <class 'list'>

3.2 从已有的序列中随机选择其中一个元素 或 多个元素(不可重复,不放回采样)

       random.sample(a,k):在已知序列 a 中,一次性 + 随机 选取 k 个,同一个元素不会被重复选择;返回值类型 是 list。

        注意:元素集合的长度 必须大于 选择次数。

r = random.sample([1, 1, 1, 1, 2], k=2)
print(type(r))
print(r)

# output
# <class 'list'>
# [1, 2]

3.3 随机打乱序列顺序

        random.shuffle(a):随机打乱元素集合列表a,然后将结果覆盖原列表a。
        注意:被打乱的序列必须是可变的,比如列表;不能是是元组,因为元组是不可修改的。

a = [1, 2, 3, 4, 5]
random.shuffle(a)
print(a)

# output
# [3, 1, 5, 2, 4]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows编程资源,菜单资源,图标资源,光标资源,上下文菜单,字符串资源,加速键资源

Windows资源是一种二进制数据&#xff0c;由链接器链接进程序成为程序的一部分&#xff0c;通过资源的方式可以很方便的对应用程序进行扩展。在Windows中资源可以是系统自定义的&#xff0c;也可以是用户自定义的。在本篇文章中为大家讲解菜单资源&#xff0c;上下文菜单&#…

PMP证书“扫盲”时间2023年考证人快看过来

二&#xff0c;PMP报考指南 学历与工作经验要求&#xff1a; 本科及以上学历&#xff0c;三年或以上的项目管理工作经验&#xff1b; 专科及以上学历&#xff0c;五年或以上的项目管理工作经验。 项目管理培训&#xff1a;35小时以上的项目管理教育/培训。 备注&#xff1…

Unity Audio -- (3)创建3D音效

本节会添加场景中小瀑布的音效。小瀑布的音效会有一个作用范围&#xff0c;也会根据角色所处的位置不同&#xff0c;产生不同的效果。 添加小瀑布的声音 1. 在Hierarchy中&#xff0c;点击右键&#xff0c;选择Audio -> Create Audio Source&#xff0c;将这个新的Audio So…

NOA上车「清一色」自主品牌,哪些供应商正在突围前线

随着入门级L2进入普及周期&#xff0c;以NOA&#xff08;高速、城区&#xff09;为代表的L2/L2赛道&#xff0c;正在成为主机厂、硬件供应商、算法及软件方案商的下一波市场制高点的争夺阵地。 高工智能汽车研究院监测数据显示&#xff0c;2023年1-3月中国市场&#xff08;不含…

MySQL基础(十一)数据处理之增删改

1. 插入数据 1.1 实际问题 解决方式&#xff1a;使用 INSERT 语句向表中插入数据。 1.2 方式1&#xff1a;VALUES的方式添加 使用这种语法一次只能向表中插入一条数据。 情况1&#xff1a;为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VALUES (value1,value2,....)…

第十五届吉林省赛个人题解【中档题(不过可能对你来说是简单题)】(H、G、C)

文章目录 H. Visit the Park(STL)G. Matrix Repair(思维题)C.Random Number Generator(BSGS算法) H. Visit the Park(STL) 题意&#xff1a;给你一个无向图&#xff0c;每条边上都有一个数码&#xff0c;然后给你一个路径&#xff0c;每次你必须从Ai走到Ai1&#xff08;直接走…

能否实现有价值观的--AI ?

人机融合所形成的新系统确实有可能产生新的科技革命。人机融合可以将人类的智慧和创造力与机器的计算能力和数据处理能力相结合&#xff0c;从而创造出更加智能化和高效化的新系统和产品。例如&#xff0c;人机融合可以推动智能制造、智能医疗、智能交通、智慧城市等各个领域的…

Go:值与指针

1. 计算机中的值 在百万年的演化历史中&#xff0c;人类对事物的属性进行了抽象&#xff0c;有了数量、精度、信息等概念的表示&#xff0c;对应的我们称之为整数、小数、文本文字等。计算机出现后&#xff0c;我们使用计算机对真实世界的问题进行建模&#xff0c;通过计算机的…

俩小伙一晚上写了个 AI 应用,月入两万??(文末附开发教程)

开发出一款能够与 AI 对话生成和编辑思维导图的工具&#xff0c;听起来似乎只能是一群专业的 AI 背景团队花费大量的时间和精力训练模型&#xff0c;打磨应用才能完成的事情。 但是&#xff0c;两名大学生却在一夜之间完成了&#xff0c;就像炼金术士将庸俗的材料转化成黄金一…

【c语言】字符串比较 | API仿真

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

Snipaste介绍、安装、使用技巧(截图贴图工具)

一、简介 Snipaste 是一个简单但强大的截图贴图工具&#xff0c;也可以让你将截图贴回到屏幕上&#xff01;下载并打开 Snipaste&#xff0c;按下 F1 来开始截图&#xff0c;再按 F3&#xff0c;截图就在桌面置顶显示了。就这么简单&#xff01; 你还可以将剪贴板里的文字…

学习分享|一文搞懂WiFi 6/7 以及选择路由器改造网络那些事

目录 什么是 WiFi 6 WiFi 6 功能特点 WIFI 6 与前几代对比 速度更快 延时更低 容量更大 更安全 更省电 WiFi 4~WiFi 6对比 WiFi 6 核心技术 WiFi 7 WiFi 世代列表 路由器常用技术扩展 2.5Ge 网口 WAN/LAN口复用/网口盲插 双WAN口 双LAN口端口聚合 mesh组网 聊…

思维导图手撕MyBatis源码

文章目录 前置准备通过类加载器读取配置文件流创建sqlSessionFactory建造者模式的使用 打开SqlSession获取Mapper接口对象执行Mapper接口方法 前置准备 既然要读MyBatis的源码&#xff0c;那么我们就要先弄清楚MyBatis的入口在哪。这里我们直接写一个标准的MyBatis使用程序&am…

6.1.1 图:基本概念

一&#xff0c;基本概念 1.基本定义 &#xff08;1&#xff09;图的定义 顶点集不可以是空集&#xff0c;但边集可以是空集。 &#xff08;2&#xff09; 有向图的表示&#xff1a; 圆括号 无向图的表示&#xff1a; 尖括号 简单图、多重图&#xff1a; 简单图&#xff1a;…

基于 SpringBoot+WebSocket 无DB实现在线聊天室

0 项目说明 0.1 样例展示 0.2 源码地址 GitHub&#xff1a;https://github.com/ShiJieCloud/web-chat Gitee&#xff1a;https://gitee.com/suitbaby/web-chat GitCode&#xff1a;I’m Jie / web-chat GitCode 1 WebSocket 简介 1.1 HTTP 常用的 HTTP 协议是一种无状态…

刚进公司就负责项目,把老弟整蒙了!

刚进公司就负责项目&#xff0c;把老弟整蒙了&#xff01; 大家好&#xff0c;我是鱼皮&#xff0c;先把封面图送给大家&#xff1a; 又快到周末了&#xff0c;今天分享一些轻松的编程经验~ 还记得我学编程的老弟小阿巴么&#xff1f;他目前大二&#xff0c;听说最近刚刚找到…

Redis超详细入门手册教程!还不快来看看?

地址&#xff1a; RedisRedis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures …https://redis.io/ 1&#xff1a;NoSQL简介 1.1&#xff1a;数据库应用的演变历程 单…

线程的原子性、可见性、有序性及线程安全知识整理

要想保证线程安全&#xff0c;必须同时满足原子性、可见性、有序性。 一、定义 1.1 原子性 一个操作或者多个操作&#xff0c;要么全部执行&#xff0c;并且执行的过程不会被打断&#xff0c; 要么就全部不执行&#xff08;一个操作是不可被分割的&#xff09;。 Java中实现…

ApiPost简单使用

目录 环境与变量 设置与使用 随机参数变量 内置Mock字段随机参数 自定义随机参数 全局参数 使用手册 apipost可支持一键压测和自动化接口测试 环境与变量 设置与使用 设置 环境变量可设置环境名称、变量名称、变量初始值、URL&#xff1a; 可以在请求变量或者接口 URL…

攻防世界-web-simple js

题目描述&#xff1a;小宁发现了一个网页&#xff0c;但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} ) 打开链接&#xff1a; 然后我们会发现不管我们输入什么密码&#xff0c;发现是都是这样的报错 1. 先用bp抓包看看&#xff0c;可以抓到这样的一串js脚本 看不懂…