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']
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构