脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python生成随机数的方法详解(最全)

Python生成随机数的方法详解(最全)

2023-05-25 12:07梦想橡皮擦 Python

Python生成随机数的方法有很多,譬如random模块、NumPy库、secrets模块等。本文为大家整理了五个生成随机数的方法(应该是最全的了吧),希望对大家有所帮助

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() 函数生成随机整数:

?
1
2
3
4
5
import random
 
​​​​​​​#生成随机整数
random_int = random.randint(1,100)
print(random_int)

也可以使用 random 模块的 random() 函数生成随机小数:

?
1
2
3
4
5
import random
 
#生成随机小数
random_float = random.random()
print(random_float)

可以使用 random 模块的 choice() 函数从列表中随机选取一个元素:

?
1
2
3
4
5
6
import random
 
#随机从列表中选取一个元素
random_list = [1, 2, 3, 4, 5]
random_element = random.choice(random_list)
print(random_element)

还可以使用 random 模块的 sample() 函数随机从列表中选取多个不重复的元素:

?
1
2
3
4
5
6
import random
 
#随机从列表中选取多个不重复的元素
random_list = [1, 2, 3, 4, 5]
random_elements = random.sample(random_list, 3)
print(random_elements)

最后,还可以使用 random 模块的 shuffle() 函数随机打乱列表的顺序:

?
1
2
3
4
5
6
import random
 
#随机打乱列表的顺序
random_list = [1, 2, 3, 4, 5]
random.shuffle(random_list)
print(random_list)

使用 NumPy 库

代码如下所示:

?
1
2
3
4
5
6
7
8
9
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 生成随机数的优势在于,它提供了丰富的随机数生成功能,可以生成各种形状和分布的随机数组,在数据分析、机器学习等领域有广泛应用。

Python生成随机数的方法详解(最全)

使用 secrets 模块

secrets模块提供了更安全的方法,且易于使用。

使用secrets.randbelow()可生成一个随机整数,而无需关心随机数的范围。

它可以保证生成的随机数具有足够的随机性,适用于密码生成、加密等安全相关的场景。

详细代码可以参考以下例子:

?
1
2
3
import secrets
random_number = secrets.randbelow(100)
print(random_number)

使用 random.org 网站

random.org 网站是一个生成真正随机数的网站,你可以使用Python的requests模块从该网站获取随机数,使用方法如下:

Python生成随机数的方法详解(最全)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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() 方法可以从指定的序列中随机选择多个元素,并以列表的形式返回选择的结果。

该方法的语法如下:

?
1
random.choices(sequence, weights=None, *, cum_weights=None, k=1)

详细参数如下:

  • sequence:要从中选择的元素的序列
  • weights:序列中各元素的概率分布,可以为 None(默认值,表示所有元素的概率相等)
  • cum_weights:weights 参数的累积概率分布
  • k:选择的元素个数

Python生成随机数的方法详解(最全)

到此这篇关于Python生成随机数的方法详解(最全)的文章就介绍到这了,更多相关Python随机数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/hihell/article/details/128905722

延伸 · 阅读

精彩推荐
  • PythonPython实现的矩阵转置与矩阵相乘运算示例

    Python实现的矩阵转置与矩阵相乘运算示例

    这篇文章主要介绍了Python实现的矩阵转置与矩阵相乘运算,结合实例形式分析了Python针对矩阵进行转置与相乘运算的相关实现技巧与操作注意事项,需要的朋...

    Johnny丶me11132021-06-09
  • Python利用python绘制笛卡尔直角坐标系

    利用python绘制笛卡尔直角坐标系

    这篇文章主要介绍了利用python绘制笛卡尔直角坐标系,python绘图主要用到matplotlib绘图模块,利用matplotlib模块画出上面的正弦函,需要的朋友可以参考一下...

    帅帅de三叔4412022-10-25
  • Pythonwindows系统下Python环境搭建教程

    windows系统下Python环境搭建教程

    这篇文章主要为大家详细介绍了windows系统下Python环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    绚丽星空4792020-09-27
  • Pythonpython代码能做成软件吗

    python代码能做成软件吗

    在本篇内容里小编给大家分享的是一篇关于把python代码做成软件的方法,有兴趣的朋友们可以阅读下。...

    流芳8662020-07-24
  • PythonPython matplotlib绘制实时数据动画

    Python matplotlib绘制实时数据动画

    Matplotlib作为Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。本文将利用Matplotlib库绘制实时数据动画,感兴趣的可以...

    渴望成为寂寞胜者7882022-10-28
  • PythonPyQt5 设置窗口全屏显示方式

    PyQt5 设置窗口全屏显示方式

    这篇文章主要介绍了PyQt5 设置窗口全屏显示方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    wzxxtt6226701814792021-09-17
  • Pythonpython选择排序算法实例总结

    python选择排序算法实例总结

    这篇文章主要介绍了python选择排序算法,以三个实例以不同方法分析了Python实现选择排序的相关技巧,需要的朋友可以参考下 ...

    pythoner5472020-07-19
  • Python解决nohup重定向python输出到文件不成功的问题

    解决nohup重定向python输出到文件不成功的问题

    今天小编就为大家分享一篇解决nohup重定向python输出到文件不成功的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    jodies8102021-02-20