random标准模块

一、概述

        在 Python 中,random 是一个内置模块,用于生成随机数。它提供了各种用于生成随机数的函数,包括伪随机数生成器、随机序列操作等。

1、需要导包

不会自动导入,需要显示的将random模块导入

import random

2、源码分析(以shuffle方法为例)

二、随机数生成器函数

1、random():返回一个范围在 [0.0, 1.0) 之间的随机浮点数。

类型:def random(self) -> float: ...

import random
print(random.random()) #0.629683841585128

2、randint(a, b):返回一个范围在 [a, b] 之间的随机整数。

类型:def randint(self, a: int, b: int) -> int: ...

import random
print(random.randint(1,10)) #5

3、uniform(a, b):返回一个范围在 [a, b] 之间的随机浮点数。

类型:def uniform(self, a: float, b: float) -> float: ...

import random
print(random.uniform(1,10)) #3.4924458384182833

4、randrange(start, stop[, step]):返回指定范围内的随机整数。step 参数表示步长。

类型:def randrange(self, start: int, stop: int | None = ..., step: int = ...) -> int: ...

import random
print(random.randrange(5,20,2)) #11

三、随机序列操作

1、choice(seq):从列表中随机选择一个元素并返回。

源码:

    def choice(self, seq):
        """Choose a random element from a non-empty sequence."""
        try:
            i = self._randbelow(len(seq))
        except ValueError:
            raise IndexError('Cannot choose from an empty sequence') from None
        return seq[i]

用法:

import random
# 从序列中随机选择元素
fruits = ['apple', 'banana', 'cherry']
print(random.choice(fruits)) #banana

2、sample(population, k):从序列中随机选择 k 个独立的元素,返回一个列表。

类型:

def sample(self, population: Sequence[_T], k: int, *, counts: Iterable[int] | None = ...) -> list[_T]: ...
import random

fruits = ['apple', 'banana', 'cherry',3,4,5]
# 从序列中随机选择多个元素
print(random.sample(fruits, 2)) #[3, 'banana']

3、shuffle(x):将序列中的元素随机打乱(就地操作)。

类型:def shuffle(self, x: MutableSequence[Any]) -> None: ...

import random

fruits = ['apple', 'banana', 'cherry',3,4,5]
# 将序列中的元素随机打乱
random.shuffle(fruits)
print(fruits)

四、随机种子设置:

1、seed(a=None, version=2):设置随机数生成器的种子。如果不设置种子,生成的随机数会基于系统时间。

数字不同,种子不同,每一颗种子相当于把随机数给固定了

import random

random.seed(12)
print(random.random()) #0.4745706786885481

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

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

相关文章

力扣最热100题——56.合并区间

吾日三省吾身 还记得梦想吗 正在努力实现它吗 可以坚持下去吗 目录 吾日三省吾身 力扣题号:56. 合并区间 - 力扣(LeetCode) 题目描述 Java解法一:排序然后原地操作 具体代码如下 Java解法二:new一个list&#xf…

K8S - 在任意node里执行kubectl 命令

当我们初步安装玩k8s (master 带 2 nodes) 时 正常来讲kubectl 只能在master node 里运行 当我们尝试在某个 node 节点来执行时, 通常会遇到下面错误 看起来像是访问某个服务器的8080 端口失败了。 原因 原因很简单 , 因为k8s的各个组建&…

使用Tokeniser估算GPT和LLM服务的查询成本

将LLM集成到项目所花费的成本主要是我们通过API获取LLM返回结果的成本,而这些成本通常是根据处理的令牌数量计算的。我们如何预估我们的令牌数量呢?Tokeniser包可以有效地计算文本输入中的令牌来估算这些成本。本文将介绍如何使用Tokeniser有效地预测和管…

IM6ULL学习总结(四-七-1)输入系统应用编程

第7章 输入系统应用编程 7.1 什么是输入系统 ⚫ 先来了解什么是输入设备? 常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与 Linux 系统进行数据交换。 ⚫ 什么是输入系统? 输入设备种类繁多,能否统一它们的…

解决 cx-programmer 梯形图中繁体中文乱码问题

我的情况 cx-programmer9.5是繁体版,梯形图编辑区中打出的字体,简体繁体 都是乱码。 但是状态栏显示注解是正常的繁体。 原因 简体和繁体的编码不一样。繁体的BIG5和简体的GB2312不能互转,A编码的用B解码也是乱码。 解决 把系统字体调整为繁…

Python 二分分治解法: Leetcode 56- 合并区间

题目 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:intervals …

springboot整合shiro的实战教程(二)

文章目录 整合思路1.创建springboot项目2.引入依赖3.创建Shiro Filter0.创建配置类1.配置shiroFilterFactoryBean2.配置WebSecurityManager3.创建自定义Relm4.配置自定义realm5.编写控制器跳转至index.html6.加入资源的权限控制7. 常见过滤器 登录认证实现登录界面开发controll…

人工智能在信息系统安全中的运用

一、 概述 对于企业和消费者来讲,人工智能是非常有用的工具,那又该如何使用人工智能技术来保护敏感信息?通过快速处理数据并预测分析,AI可以完成从自动化系统到保护信息的所有工作。尽管有些黑客利用技术手段来达到自己的目的,但…

恋活2 仿原神人物卡系列2全合集打包

内含:炽沙话事人 芭别尔迪希雅镀金女团 -沙中净水镀金女团 -叶轮舞者珐露珊坎蒂丝柯莱可莉丽莎-叶隐芳名神里绫华-花时来信瑶瑶。 下载地址: https://www.changyouzuhao.cn/13661.html

浅谈2024 年 AI 辅助研发趋势!

目录 ​编辑 引言 一、AI辅助研发现状 1. 技术发展 2. 工具集成 3. 应用场景 二、AI辅助研发趋势 1. 更高的自动化程度 2. 更高的智能化程度 3. 更多的领域应用 4. 更高的重视度 三、结论 四. 完结散花 悟已往之不谏,知来者犹可追 创作不易&#xff…

STM32用标准库做定时器定时1秒更新OLED的计数值(Proteus仿真)

首先新建proteus工程,绘制电路图: 然后赋值我之前文章中提到的文件夹OLED屏幕显示:(没有的自己去那篇文章下载去) 然后进入文件夹: 新建两个文件在Mycode文件夹中: 文件关系如下: 新…

leetcode2

翻转链表 struct ListNode* reverseList(struct ListNode* head) {struct ListNode* prev NULL;struct ListNode* curr head;while (curr ! NULL) {struct ListNode* nextTemp curr->next;//nextTemp的作用是为了记录,以便再反转后可以curr->next prev; …

SpringBoot基础入门

SpringBoot2讲义链接 源码链接 springboot中文网 由于讲义中有代码的详细实现步骤,故此笔记只记录理论部分,项目具体构建细节需搭配 讲义 食用 csdn比较好的博客 第一章 JavaConfig 项目见讲义第1章,项目名为 001-springboot-pre Xml 配置容…

HTML_CSS_盒子模型

盒子模型组成 内容区域&#xff08;comtent&#xff09;内边距区域&#xff08;padding&#xff09;边框区域&#xff08;border&#xff09;外边距区域&#xff08;margin&#xff09; 布局标签 标签&#xff1a;<div> </div> 和 <span> …

2024年,如何使用chatgpt4.0为工作赋能?

ChatGPT 4.0的工作原理和功能 ChatGPT 4.0的工作原理和功能可以从以下几个方面进行详细说明&#xff1a; 工作原理 ChatGPT 4.0的工作原理主要基于深度学习技术&#xff0c;特别是Transformer模型的应用。它通过大量的文本数据进行训练&#xff0c;学习语言的模式和规律&…

MySQL 的基础操作

数据库的基础操作 1. 库操作2. 表的操作3. 数据类型 数据库是现代应用程序中至关重要的组成部分&#xff0c;通过数据库管理系统&#xff08;DBMS&#xff09;存储和管理数据。 1. 库操作 创建数据库 创建数据库是开始使用数据库的第一步。下面是一些常见的创建数据库的示例&a…

嘉绩咨询创新招商落地方案,助力品牌加速市场渗透

领先的渠道招商全案系统孵化平台——嘉绩咨询&#xff0c;今日发布了其创新的招商落地方案&#xff0c;此举标志着企业在加速品牌拓展和市场渗透方面迈出了坚实的步伐。嘉绩咨询专注于为企业提供包容性和深度一体化的服务&#xff0c;从招商教育、招商落地到项目孵化等多方位助…

【leetcode热题】 二叉树的后序遍历

给你一棵二叉树的根节点 root &#xff0c;返回其节点值的 后序遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[3,2,1]示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[]示例 3&#xff1a; 输入&#xff1a;root [1] 输出…

微信小程序uniapp+django+python的酒店民宿预订系统ea9i3

Android的民宿预订系统设计的目的是为用户提供民宿客房、公告信息等方面的平台。 与PC端应用程序相比&#xff0c;Android的民宿预订系统的设计主要面向于民宿&#xff0c;旨在为管理员和用户、商家提供一个Android的民宿预订系统。用户可以通过Android及时查看民宿客房等。 An…

FreeRTOS操作系统学习——同步互斥与通信

同步&#xff08;Synchronization&#xff09; 同步是一种机制&#xff0c;用于确保多个任务能够按照特定的顺序协调执行或共享数据。当一个任务需要等待其他任务完成某个操作或满足某个条件时&#xff0c;同步机制可以帮助任务进行协调和等待。 在FreeRTOS中&#xff0c;常见…