python 标准库random生成随机数


当前版本:

  • Python 3.8.4

         

文章目录如下

1. random的特点

2. random的用法

2.1. 随机整数

2.2. 随机小数

2.3. 随机元素

2.4. 随机字符串


        

1. random的特点

random 提供了生成伪随机数的功能,可以用于各种随机相关的操作,如生成随机数、洗牌、选择随机元素等。常用的内置方法如下:

【随机整数】

import random
random.randint(x, y)   # x~y之间的随机整数
random.randrange(start, stop[, step])  # 指定范围内的随机整数,可指定起始值、终止值和步长。

【随机浮点数】

import random
random.random()        # 0~1随机浮点数
random.uniform(x, y)   # x~y之间的随机浮点数

【随机元素】

import random
random.choice(seq)    # 序列中随机选择一个元素
random.shuffle(seq)   # 随机打乱序列中的元素的顺序

        

2. random的用法

2.1. 随机整数

随机整数一般通过 randint 或 randrange 来获取,它们的范围由平台位数决定:

32位范围:(-2^31) ~ (2^31 - 1)  # -2147483648 ~ 2147483647

64位范围:(-2^63) ~ (2^63 - 1)  # -9223372036854775808 ~ 9223372036854775807

        

常用的 randint 语法:

random.randint(开始大小, 结束大小)

比如指定获取 0~1

random.randint(0, 1)

        

生成6位随机数

random.randint(100000, 999999)

        

在一些特定的场合需要指定步长可以利用randrange来获取

random.randrange(开始大小,结束大小,步长)

比如取1~100的随机奇数

random.randrange(1,100,2)

取1~100随机偶数

random.randrange(0,100,2)

        

2.2. 随机小数

  • 随机小数可以通过 random 或 uniform 获取

【案例一】生成0~1的随机小数 random

random.random()    # 不接受参数

也支持运算(生成1~100的小数)

        

【案例二】按范围生成随机小数 uniform

random.uniform(1, 10)    # 指定开始值和结束值

        

【案例三】指定小数位为2 round

round(random.uniform(1, 10), 2)

        

2.3. 随机元素

【案例一】通过 choice 来获取一个随机元素

L = [ "AAA", "BBB", 200, "CCC" ]
random.choice(L)    # 传入一个序列

        

【案例二】通过 shuffle 将序列的元素顺序打乱

L = [ "AAA", "BBB", 200, "CCC" ]
random.shuffle(L)    # 传入一个序列

        

【案例三】通过 sample 随机获取n个元素

L = [1, 2, 3, 4, 5]
random.sample(L, 3)

        

2.4. 随机字符串

choices 方法可以通过自定义的字符来生成一个列表,语法如下:

random.choices('自定义字符', k=长度)

例如

random.choices('abcdef', k=3)
  • 随机从 'abcdef' 中选取3个字符组成一个列表 

        

生成字符串的话需要借助 join 函数

''.join(random.choices('abcdef', k=3))

        

如果希望内容丰富一点,那就自定义多一些字符

random_string = ''.join(random.choices('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', k=6))

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

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

相关文章

《HTML 简易速速上手小册》第6章:HTML 语义与结构(2024 最新版)

文章目录 6.1 语义化标签的重要性6.1.1 基础知识6.1.2 案例 1&#xff1a;使用 <article>, <section>, <aside>, <header>, 和 <footer>6.1.3 案例 2&#xff1a;构建带有嵌套语义化标签的新闻网站6.1.4 案例 3&#xff1a;创建一个带有 <mai…

干货 | 大模型在图数据分析、推荐系统和生物科学中的综合应用

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 图机器学习、推荐系统与大语言模型的融合正成为新的前沿热点。图机器学习通过利用图结构数据&#xff0c;能够有效地捕捉和分析复杂关系和模式。同时&#xff0c;推荐系统正逐步成为我们日常生活的一部分&#…

5G_RACH(一)

什么是RACH RACH 代表 Random Access Channel。这是开机时UE发给eNB的第一条消息。 为什么选择RACH &#xff1f;&#xff08;RACH 的功能是什么&#xff1f; 当你第一次听到RACH或RACH Process这个词时&#xff0c;你脑海中浮现的第一个问题是“为什么是RACH&#xff1f;”…

前端Web开发

安装flask框架 pip install flask 导入flask模块 from flask import Flask 【可能遇到的问题】 出现了如下警告&#xff1a; WARNING: You are using pip version 21.2.4; however, version 22.0.4 is available.You should consider upgrading via the D:\Python\python…

EPSON RC 机器人-第一个程序

创建项目 有机械人且用USB线连接好。可以USB。没有真机的选择 C4 Sample 可以运行程序。 否刚会提示【不能连接到控制器&#xff0c;未安装USB驱动器】 代码 按F5打开运行窗口 再点【开始】 点 【是】&#xff0c;查看运行结果

GMS测试BTSfail-CVE-2022-20451

描述&#xff1a; 项目需要过GMS兼容性测试&#xff0c;BTS这块我们环境没有&#xff0c;送检之后出现了一个BTS的Alert&#xff0c;这个是必须要解决的。下面的warning可以不考虑。 这个是patch问题&#xff0c;根据代理提供的pdf文件找到一个id:为A-235098883的补丁&#xf…

C#,德兰诺依数(Dealnnoy Number)的算法与源代码

1 Dealnnoy Number 德兰诺依数&#xff0c;德兰诺伊数 德兰诺依数是以法国军官、业余数学家亨利德兰诺依&#xff08;Henry Dealnnoy&#xff09;的名字命名。 Henry Dealnnoy 在组合数学中&#xff0c;德兰诺依数描述了从(0,0)到(m,n)的格路问题中&#xff0c; 只允许按照(0…

TensorFlow2实战-系列教程14:Resnet实战1

&#x1f9e1;&#x1f49b;&#x1f49a;TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 1、残差连接 深度学习中出现了随着网络的堆叠效果下降的现象&#xff0c;Resnet使用残…

BTC交易数据是什么样子的

如何储存 交易数据是用字节的形式存储在区块链中&#xff0c;但是我们分析和处理的时候一般使用16进制。另外BTC的数据都是通过小端模式存储的。 16进制&#xff1a;计算机的世界只有2进制&#xff0c;但是为了节省空间已经增加可读性&#xff0c;BTC使用了16进制的形式来保存数…

蓝桥杯 第 1 场 小白入门赛

目录 1.蘑菇炸弹 2.构造数字 3.小蓝的金牌梦 4.合并石子加强版 5.简单的LIS问题 6.期望次数 1.蘑菇炸弹 我们直接依照题目 在中间位置的数进行模拟即可 void solve(){cin>>n;vector<int> a(n1);for(int i1;i<n;i) cin>>a[i];int ans0;for(int i2;i…

氢气泄漏检测仪使用方法:守护安全,从细节开始

随着科技的发展&#xff0c;我们的生活和工作环境中充满了各种潜在的危险。其中&#xff0c;氢气作为一种清洁能源&#xff0c;其使用日益广泛&#xff0c;但同时也带来了泄漏的风险。为了确保我们的安全&#xff0c;了解并正确使用氢气泄漏检测仪至关重要。下面将详细介绍氢气…

Optimism的挑战期

1. 引言 前序博客&#xff1a; Optimism的Fault proof 用户将资产从OP主网转移到以太坊主网时需要等待一周的时间。这段时间称为挑战期&#xff0c;有助于保护 OP 主网上存储的资产。 而OP测试网的挑战期仅为60秒&#xff0c;以简化开发过程。 2. OP与L1数据交互 L1&#xf…

STM32学习笔记二——STM32时钟源时钟树

目录 STM32芯片内部系统架构详细讲解&#xff1a; 1.芯片内部混乱电信号解决方案&#xff1a; 2.时钟树&#xff1a; 1.内部RC振荡器与外部晶振的选择 2. STM32 时钟源 3.STM32中几个与时钟相关的概念 4.时钟输出的使能及其流程 5.时钟设置的基本流程 时钟源——单片机…

上海亚商投顾:创业板指失守1600点 全市场超5000只个股下跌

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日低开低走&#xff0c;深成指跌超2%&#xff0c;创业板指失守1600点&#xff0c;续创年内新低。脑机接…

C语言KR圣经笔记 6.6 表查询 6.7 typedef

6.6 表查询 为了说明结构体的更多方面&#xff0c;本节我们来写一个表查询功能包的内部代码。在宏处理器或编译器的符号表管理例程中&#xff0c;这个代码是很典型的。例如&#xff0c;考虑 #define 语句&#xff0c;当遇到如下行 #define IN 1 时&#xff0c;名称 IN 与其对…

n-皇后-dfs

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.Scanner;public class Main {static int n,N 20; //这里只会用到2 * n - 1的格子,开大点保险static char[][] g new c…

Makefile编译原理 makefile中的include关键字

一.makefile中的include关键字 类似C语言中的include 将其他文件的内容原封不动的搬入当前文件 make对include关键字的处理方式&#xff1a; 在当前目录搜索或指定目录搜索目标文件 搜索成功&#xff1a;将文件内容搬入当前makefile中 搜索失败&#xff1a;产生警告&…

聚观早报 | 360 AI搜索App上线;岚图汽车与京东达成合作

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 1月30日消息 360 AI搜索App上线 岚图汽车与京东达成合作 三星电子在硅谷新设实验室 小米平板7系列参数曝光 Spa…

大创项目推荐 题目:基于深度学习的中文对话问答机器人

文章目录 0 简介1 项目架构2 项目的主要过程2.1 数据清洗、预处理2.2 分桶2.3 训练 3 项目的整体结构4 重要的API4.1 LSTM cells部分&#xff1a;4.2 损失函数&#xff1a;4.3 搭建seq2seq框架&#xff1a;4.4 测试部分&#xff1a;4.5 评价NLP测试效果&#xff1a;4.6 梯度截断…

代码随想录算法刷题训练营day20

代码随想录算法刷题训练营day20&#xff1a;LeetCode(654)最大二叉树、LeetCode(617)合并二叉树、LeetCode(700)二叉搜索树中的搜索、LeetCode(700)二叉搜索树中的搜索、LeetCode(98)验证二叉搜索 LeetCode(654)最大二叉树 题目 代码 import java.util.Arrays;/*** Definit…