如何使用Python中的random模块生成随机数

在Python中,random模块提供了多种用于生成随机数的函数。以下是一些基本示例:

  1. 生成随机整数:

使用random.randint(a, b)函数生成一个介于a和b之间的随机整数(包括a和b)。

复制代码

python复制代码

|---|---------------------------------------------------------|
| | import random |
| | |
| | random_int = random.randint(1, 10) # 生成一个1到10之间的随机整数 |
| | print(random_int) |

使用random.randrange(a, b)函数也可以生成一个介于a和b之间的随机整数,但b是不包括在内的。random.randrange(a, b, step)还可以指定步长。

复制代码

python复制代码

|---|----------------------------------------------------------------|
| | random_int = random.randrange(1, 10) # 生成一个1到9之间的随机整数 |
| | print(random_int) |
| | |
| | random_int_step = random.randrange(0, 10, 2) # 生成一个0到8之间的偶数 |
| | print(random_int_step) |

  1. 生成随机浮点数:

使用random.random()函数生成一个介于0.0和1.0之间的随机浮点数。

复制代码

python复制代码

|---|---------------------------------------------------------|
| | random_float = random.random() # 生成一个0.0到1.0之间的随机浮点数 |
| | print(random_float) |

使用random.uniform(a, b)函数生成一个介于a和b之间的随机浮点数。

复制代码

python复制代码

|---|--------------------------------------------------------------------|
| | random_float = random.uniform(1.0, 10.0) # 生成一个1.0到10.0之间的随机浮点数 |
| | print(random_float) |

  1. 从列表中随机选择元素:

使用random.choice(seq)函数从非空序列(如列表、元组或字符串)中随机选择一个元素。

复制代码

python复制代码

|---|----------------------------------------------------------|
| | my_list = [1, 2, 3, 4, 5] |
| | random_choice = random.choice(my_list) # 从列表中随机选择一个元素 |
| | print(random_choice) |

使用random.shuffle(x)函数可以将列表x中的元素随机排序。注意,这个函数会直接修改列表x,而不返回新的列表。

复制代码

python复制代码

|---|------------------------------------------|
| | my_list = [1, 2, 3, 4, 5] |
| | random.shuffle(my_list) # 将列表中的元素随机排序 |
| | print(my_list) |

  1. 生成随机样本:

使用random.sample(population, k)函数从非空序列population中随机选择k个不重复的元素。

复制代码

python复制代码

|---|-----------------------------------------------------------------|
| | my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] |
| | random_sample = random.sample(my_list, 3) # 从列表中随机选择3个不重复的元素 |
| | print(random_sample) |

这些只是random模块中提供的一些基本功能。根据你的具体需求,你还可以探索该模块中的其他函数和功能。

相关推荐
在世修行1 小时前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
2601_962885721 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
打工仔折腾 AI1 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
信誓旦旦的程序猿2 小时前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
严谨的麻辣烫2 小时前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障
下一站春风里2 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑3 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl3 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_4 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php