python random中的随机函数

舞夢輝影
发布: 2025-11-15 21:35:02
原创
747人浏览过
Python的random模块基于Mersenne Twister算法提供多种随机函数,适用于模拟、游戏等场景但不用于加密。1. random()生成[0.0,1.0)浮点数;2. uniform(a,b)返回a到b间浮点数;3. randint(a,b)返回a到b间整数(含端点);4. randrange(start,stop,step)从指定range中选整数;5. choice(seq)从序列中选一个元素;6. choices(population,weights,k)带权重可重复选取k个;7. sample(population,k)无重复抽取k个;8. shuffle(x)打乱列表顺序。使用seed()可复现实验结果,常用于测试。

python random中的随机函数

Python 的 random 模块提供了多种生成随机数的函数,适用于不同场景下的随机操作。这些函数基于 Mersenne Twister 算法,是一种伪随机数生成器(PRNG),适合模拟、游戏、抽样等用途,但不适用于加密场景(应使用 secrets 模块)。

常用随机函数说明

1. random.random()

返回一个在 [0.0, 1.0) 范围内的随机浮点数。

示例:

import random
print(random.random())  # 如:0.374540
登录后复制

2. random.uniform(a, b)

立即学习Python免费学习笔记(深入)”;

返回 a 和 b 之间的随机浮点数(包含 a 和 b,取决于浮点精度)。

示例:

print(random.uniform(1.5, 4.5))  # 如:3.2847
登录后复制

3. random.randint(a, b)

返回 a 和 b 之间的随机整数(包含 a 和 b)。

示例:

print(random.randint(1, 10))  # 如:7
登录后复制

4. random.randrange(start, stop[, step])

从 range(start, stop, step) 中随机选择一个整数,常用于步长控制。

示例:

print(random.randrange(0, 10, 2))  # 从 [0,2,4,6,8] 中选
登录后复制

5. random.choice(seq)

从非空序列中随机选择一个元素。

示例:

fruits = ['apple', 'banana', 'cherry']
print(random.choice(fruits))  # 如:'banana'
登录后复制

6. random.choices(population, weights=None, k=1)

返回长度为 k 的列表,允许重复选择,可设置权重。

示例:

print(random.choices(['a','b','c'], k=3))  # 如:['a','c','a']
登录后复制

7. random.sample(population, k)

从序列中无重复地随机选取 k 个元素,返回列表。

示例:

numbers = list(range(10))
print(random.sample(numbers, 3))  # 如:[2, 7, 1]
登录后复制

8. random.shuffle(x)

将列表 x 中的元素就地打乱顺序。

示例:

deck = ['A', 'B', 'C', 'D']
random.shuffle(deck)
print(deck)  # 如:['C', 'A', 'D', 'B']
登录后复制

设置随机种子(可复现结果)

使用 random.seed() 可以设定初始状态,使后续随机结果可复现。

示例:

random.seed(42)
print(random.random())  # 每次运行都输出相同的序列
登录后复制

应用场景建议

  • 模拟实验或游戏逻辑时,用 randintchoice
  • 需要无重复抽样时,用 sample
  • 生成带权重的随机选择,用 choices 并传入 weights
  • 确保测试可复现时,记得调用 seed()

基本上就这些,根据实际需求选择合适的方法即可。

以上就是python random中的随机函数的详细内容,更多请关注php中文网其它相关文章!

相关标签:
python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号