random模块(生成随机数)

random(): 随机返回0到1之间的浮点数。左闭右开区间。[0,1)
random.seed(): 可以传入一个整数或字符串,用于重复生成相同的一组随机数。

import random

random.seed(123)
print(random.random())
print(random.random())
print(random.random())

print('-' * 25, '分隔线', '-' * 25)

random.seed(123)
print(random.random())
print(random.random())
print(random.random())

输出结果:

0.052363598850944326
0.08718667752263232
0.4072417636703983
------------------------- 分隔线 -------------------------
0.052363598850944326
0.08718667752263232
0.4072417636703983

randint(a, b): 返回一个介于a,b之间的一个随机整数。左闭右闭区间[a,b]
randrange(start, stop, step=1): 返回一个介于start, stop之间的一个随机整数。左闭右开区间。 它相当于从一个range()生成器返回的值中随机选一个数字。 step参数的作用就相当于range函数中的第三个参数。
choices(items, k=1): 从序列中 带有替换(有放回) 地随机选择元素,即每次选择后,元素仍然可以再次被选中。

import random

# 带权重的随机选择
result = random.choices(['a', 'b', 'c'], weights=[1, 2, 3], k=5)
print(result)  # 可能输出:['c', 'b', 'c', 'c', 'a']

sample(items, k): 从序列中 不带替换(无放回) 地随机选择元素,即每次选择后,元素不能再次被选中。k必须小于等于len(itmes)

import random

# 不带替换的随机选择
result = random.sample(['a', 'b', 'c'], k=2)
print(result)  # 可能输出:['b', 'a']

shuffle(items): 随机打乱sequence中元素的顺序。类似于洗牌。 参数引用的原始对象也会被改变。

import random

items = ['one', 'two', 'three', 'four', 'five']
random.shuffle(items)
print(items)  # ['three', 'two', 'five', 'four', 'one']
posted @   RolandHe  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示