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发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://www.521pj.cn/20257670.html
发表评论