如何在Python中生成随机数(random模块)

了解如何在 Python 中生成随机数。将 randrange、randint 和均匀浮点生成与播种控制进行比较。

在编辑器中尝试此解决方案

概述

生成随机数是游戏编程、从数据集中选择随机项、编写密码学应用程序和执行统计模拟的关键要求。 Python 提供了一个名为“random”的专用内置库来处理伪随机数生成。

如果您需要特定范围内的随机整数,“random.randint(a, b)”函数是最常用的工具,它返回一个包含两个端点的随机整数。或者,“random.random()”生成 0.0(含)和 1.0(不含)之间的浮点数,可以通过数学方式缩放以适应自定义边界。

为了使模拟和测试可重复,您可以使用“random.seed()”函数。提供种子整数可保证每次代码运行时生成的数字序列都相同。对于需要高安全性的加密操作(如令牌生成),应避免使用标准伪随机生成器,而使用“secrets”模块。

代码和执行输出

该脚本演示了如何使用 random 模块生成随机整数、浮点数以及选择元素。

random_numbers.py
在编辑器中尝试
import random

# Setting a seed for deterministic output in this example
random.seed(42)

# 1. Generate a random integer between 1 and 10 (inclusive)
random_int = random.randint(1, 10)
print("Random Integer (1-10):", random_int)

# 2. Generate a random float between 0.0 and 1.0
random_float = random.random()
print("Random Float (0-1):", round(random_float, 4))

# 3. Select a random element from a list
fruits = ["apple", "banana", "cherry"]
random_choice = random.choice(fruits)
print("Random Choice:", random_choice)
端子输出
Random Integer (1-10): 2
Random Float (0-1): 0.025
Random Choice: banana

逐步实施

  • 在脚本开头导入 random 模块。
  • 使用 random.randint(min, max) 生成一个随机整数,其中两个端点都包含在内。
  • 使用 random.random() 生成 0.0 到 1.0 之间的随机浮点数。

常见问题解答

如何生成自定义范围内的随机浮点数?

使用 random.uniform(a, b) 获取 a 和 b 之间的随机浮点数。

随机模块对于加密使用是否安全?

不可以,随机模块是伪随机的,不应该用于安全敏感的目的。请改用 Secrets 模块。

相关主题

推荐的 Python 资源

通过相关的交互式教程、备忘单和代码比较来扩展您的知识。