1. random.random()
生成一个[0.0, 1.0)范围内的随机浮点数
import random
# 生成随机浮点数
rand_float = random.random()
print(f"随机浮点数: {rand_float}")
全面掌握随机数生成与应用技巧
Python的random模块提供了生成随机数的功能,支持多种随机数生成方法,是数据科学、机器学习、游戏开发和模拟实验的重要工具。
核心功能:
生成一个[0.0, 1.0)范围内的随机浮点数
import random
# 生成随机浮点数
rand_float = random.random()
print(f"随机浮点数: {rand_float}")
生成[a, b]范围内的随机浮点数
# 生成10到20之间的随机浮点数
rand_uniform = random.uniform(10, 20)
print(f"均匀分布随机数: {rand_uniform}")
生成[a, b]范围内的随机整数
# 生成1到100之间的随机整数
rand_int = random.randint(1, 100)
print(f"随机整数: {rand_int}")
从非空序列中随机选择一个元素
fruits = ['苹果', '香蕉', '橙子', '葡萄', '西瓜']
selected = random.choice(fruits)
print(f"随机选择的水果: {selected}")
将序列中的元素随机排序(原地修改)
cards = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
print("原始顺序:", cards)
random.shuffle(cards)
print("洗牌后:", cards)
从序列中随机选择k个不重复的元素
numbers = list(range(1, 51)) # 1到50的数字
# 随机选择5个不重复的数字
lucky_numbers = random.sample(numbers, 5)
print("幸运数字:", lucky_numbers)
设置随机种子可以重现随机结果
# 设置随机种子
random.seed(42)
# 生成可重现的随机数
print("第一次:", random.random())
print("第二次:", random.random())
# 重置种子
random.seed(42)
print("重置后第一次:", random.random())
生成符合高斯分布(正态分布)的随机数
# 生成均值为0,标准差为1的随机数
normal_random = random.gauss(0, 1)
print(f"高斯分布随机数: {normal_random}")
def generate_captcha(length=6):
"""生成指定长度的数字字母混合验证码"""
characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
return ''.join(random.choices(characters, k=length))
print("验证码:", generate_captcha())
def lottery_draw(participants, winners_count):
"""从参与者中抽取指定数量的获奖者"""
if winners_count > len(participants):
raise ValueError("获奖者数量不能超过参与者数量")
return random.sample(participants, winners_count)
# 参与者列表
participants = ["张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十"]
winners = lottery_draw(participants, 3)
print("获奖者:", winners)
def generate_password(length=12):
"""生成强密码,包含大小写字母、数字和特殊字符"""
lowercase = "abcdefghijklmnopqrstuvwxyz"
uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
digits = "0123456789"
symbols = "!@#$%^&*()_+-=[]{}|;:,.<>?"
# 确保每种类型至少一个字符
password = [
random.choice(lowercase),
random.choice(uppercase),
random.choice(digits),
random.choice(symbols)
]
# 添加剩余字符
all_chars = lowercase + uppercase + digits + symbols
password += random.choices(all_chars, k=length-4)
# 打乱顺序
random.shuffle(password)
return ''.join(password)
print("随机密码:", generate_password())
本文由GaoSen于2025-08-09发表在吾爱品聚,如有疑问,请联系我们。
本文链接:http://pjw.521pj.cn/20257670.html
发表评论