random 模块提供随机数生成功能,用于游戏、模拟、随机选择等场景。
import random
# 生成 0-1 之间的随机浮点数
print(random.random()) # 例如:0.123456789
# 生成指定范围的随机整数
print(random.randint(1, 10)) # 1-10 之间的整数(包含 10)
# 从序列中随机选择一个元素
items = ['A', 'B', 'C', 'D']
print(random.choice(items)) # 随机选择一个元素
# 打乱序列
random.shuffle(items)
print(items) # 打乱后的列表
# 0.0 <= x < 1.0
print(random.random())
# a <= x < b
print(random.uniform(1, 5)) # 1-5 之间的浮点数
# a <= x <= b
print(random.randint(1, 10))
# 0 <= x < n
print(random.randrange(10)) # 0-9 之间的整数
# 按步长生成
print(random.randrange(0, 10, 2)) # 0, 2, 4, 6, 8 中随机选一个
# 随机选择一个元素
items = [1, 2, 3, 4, 5]
print(random.choice(items))
# 随机选择多个元素(有放回)
print(random.choices(items, k=3)) # 例如:[2, 1, 5]
# 随机选择多个元素(无放回)
print(random.sample(items, k=3)) # 例如:[3, 1, 5]
# 打乱序列
random.shuffle(items)
print(items)
# 设置种子(相同种子会产生相同的随机序列)
random.seed(42)
print(random.random()) # 固定值
print(random.random()) # 固定值
# 重新设置种子
random.seed(42)
print(random.random()) # 和上面第一个值相同
import random
# 模拟掷骰子
def roll_dice():
return random.randint(1, 6)
# 测试
print('掷骰子结果:', roll_dice())
# 掷两个骰子
print('两个骰子:', roll_dice(), roll_dice())
import random
import string
# 生成随机密码
def generate_password(length=8):
# 字符集:大小写字母 + 数字
chars = string.ascii_letters + string.digits
# 随机选择 length 个字符
password = ''.join(random.choices(chars, k=length))
return password
# 测试
print('随机密码:', generate_password())
print('12位密码:', generate_password(12))
import random
# 生成随机 RGB 颜色
def random_color():
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
return (r, g, b)
# 测试
print('随机颜色:', random_color())
# 生成 5 个随机颜色
for i in range(5):
print(f'颜色{i+1}:', random_color())
import random
# 模拟概率事件
def simulate_event(probability):
"""probability: 事件发生的概率(0-1)"""
return random.random() < probability
# 测试:30% 概率中奖
for i in range(10):
if simulate_event(0.3):
print(f'第{i+1}次: 中奖!')
else:
print(f'第{i+1}次: 未中奖')