Python生成随机数的方法详解(最全)
作者:梦想橡皮擦 发布时间:2023-05-04 12:36:08
python生成随机数都有哪些办法呢
使用 random 模块:random模块是python内置的模块,使用方法如random.randint()生成一个随机整数。
使用 NumPy 库:NumPy 是一个强大的数值计算库,它提供了生成随机数的功能,例如numpy.random.randint()生成一个随机整数。
使用 secrets 模块:secrets模块是python3.6版本引入的新模块,专门用于生成安全随机数,例如secrets.randbelow()生成一个随机整数。
使用 random.org 网站:random.org 网站可以生成真正的随机数,可以使用Python的requests模块从该网站获取随机数。
使用 random.choices()方法: random.choices()方法可以从一个序列中随机选择多个元素。
使用 random 模块
使用 random 模块的 randint() 函数生成随机整数:
import random
#生成随机整数
random_int = random.randint(1,100)
print(random_int)
也可以使用 random 模块的 random() 函数生成随机小数:
import random
#生成随机小数
random_float = random.random()
print(random_float)
可以使用 random 模块的 choice() 函数从列表中随机选取一个元素:
import random
#随机从列表中选取一个元素
random_list = [1, 2, 3, 4, 5]
random_element = random.choice(random_list)
print(random_element)
还可以使用 random 模块的 sample() 函数随机从列表中选取多个不重复的元素:
import random
#随机从列表中选取多个不重复的元素
random_list = [1, 2, 3, 4, 5]
random_elements = random.sample(random_list, 3)
print(random_elements)
最后,还可以使用 random 模块的 shuffle() 函数随机打乱列表的顺序:
import random
#随机打乱列表的顺序
random_list = [1, 2, 3, 4, 5]
random.shuffle(random_list)
print(random_list)
使用 NumPy 库
代码如下所示:
import numpy as np
# 生成一个随机整数
rand_int = np.random.randint(low=0, high=100)
print("随机整数:", rand_int)
# 生成一个包含随机整数的数组
rand_array = np.random.randint(low=0, high=100, size=(5,))
print("随机整数数组:", rand_array)
使用 NumPy 生成随机数的优势在于,它提供了丰富的随机数生成功能,可以生成各种形状和分布的随机数组,在数据分析、机器学习等领域有广泛应用。
使用 secrets 模块
secrets模块提供了更安全的方法,且易于使用。
使用secrets.randbelow()可生成一个随机整数,而无需关心随机数的范围。
它可以保证生成的随机数具有足够的随机性,适用于密码生成、加密等安全相关的场景。
详细代码可以参考以下例子:
import secrets
random_number = secrets.randbelow(100)
print(random_number)
使用 random.org 网站
random.org 网站是一个生成真正随机数的网站,你可以使用Python的requests模块从该网站获取随机数,使用方法如下:
import requests
import json
# 请求随机数的API
url = 'https://www.random.org/integers/?num=1&min=1&max=100&col=1&base=10&format=plain&rnd=new'
# 发送请求并获取随机数
response = requests.get(url)
random_number = response.text
# 转换为整数并打印
random_number = int(random_number)
print(random_number)
这是一个使用requests从random.org获取随机数的简单示例。你可以根据需求自定义生成随机数的数量、最小值和最大值。
使用 random.choices()方法
random.choices() 方法可以从指定的序列中随机选择多个元素,并以列表的形式返回选择的结果。
该方法的语法如下:
random.choices(sequence, weights=None, *, cum_weights=None, k=1)
详细参数如下:
sequence:要从中选择的元素的序列
weights:序列中各元素的概率分布,可以为 None(默认值,表示所有元素的概率相等)
cum_weights:weights 参数的累积概率分布
k:选择的元素个数
来源:https://blog.csdn.net/hihell/article/details/128905722


猜你喜欢
- Python连接Oracle本地测试依赖安装准备Python、链接Oracle需要Python依赖和本地Oracle客户端,测试环境Orac
- PHP simplexml_load_string() 函数实例转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然
- 什么是条形图?条形图(bar chart)是用宽度相同的条形的高度或长短来表示数据多少的图形。条形图可以横置或纵置,纵置时也称为柱形图(co
- 原图矫正后我新建了个jz的文件夹放相机矫正所需要拍摄的图片,如下:共12张 # coding:utf-8import cv2imp
- 前言推导式是从一个或者多个迭代器快速创建序列的一种方法。它可以将循环和条件判断结合,从而避免冗长的代码。推导式是典型的 Python 风格P
- 这篇文章主要介绍了Python sqlite3查询操作过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 数组去重复和数组排序'数组名次 Function Sort(ary,stra) KeepChecking =&n
- 在Python 2.7中,一个float的repr返回最接近十七位数的十进制数;这足以精确地识别每个可能的IEEE浮点值.浮点数的str类似
- 最近打算把我们的微信端用Vue.js重构,为什么选择Vue.js,一是之前使用的是传统的asp.net mvc,多页面应用用户体验比单页面要
- 封装为了jq插件,如下drag.js;(function ($) { $.fn.dragDiv = function (options) {
- 首先说明本文并不是安装教程,网上有很多,这里只是自己遇到的一些问题我是以前安装的tensorflow-gpu的,但是发现现在的学术论文大部分
- 下面看下js字符串的常用操作方法,具体内容如下所述:charAt()
- 这篇论坛文章详细介绍了完全卸载MySQL数据库5.0的具体方法,更多内容请参考下文:数据库突然出了问题,没办法只能重装,因为事先并不知道My
- 1. 监测端口我们要引用的socket模块来校验端口是否被占用。1.1 socket是什么?简单一句话:网络上的两个程序通过一个双向的通信连
- 1、说明创建堆有两种基本方法:heappush() 和 heapify()。当使用heappush()时,当新元素添加时,堆得顺序被保持了。
- Python错误SyntaxError: unexpected EOF while parsing含义是解释器到底了都没找到它要找到的东西出
- 如何制作一个分页程序?确实,翻页程序可以相互借鉴,但具体到每一需求,还是有较大差别的。代码入下,供参考:<%language=&quo
- 一、前言大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其他语言,想C++
- 开发一个文件上传共享网站,曾想使用下面的代码实现文件上传的功能: <form enctype="multipart/form
- package 机制package是模块的集合,每一个Package的根目录下面都应当有一个__init__.py 文件。当解释器发现目录下