Python 如何生成 X 到 Y 之间的随机整数?

random.randint(x, y) 生成含两端点的随机整数;random.randrange(x, y+1) 等效;secrets.randbelow 用于安全场景。本文给出各写法与区间开闭差异。

最佳实践
Python 如何生成 X 到 Y 之间的随机整数?封面

最常用:random.randint(x, y)——两端都包含randint(1, 10) 可能返回 1 到 10 的任何整数。

三种写法对比

import random

random.randint(1, 10)        # 1-10,含两端(最常用)
random.randrange(1, 11)      # 同上,但遵循 range 左闭右开习惯,要 +1
random.choice(range(1, 11))  # 也能,但没必要

安全场景用 secrets

密码学相关(令牌、验证码)不要用 random:

import secrets
secrets.randbelow(10) + 1    # 1-10 的安全随机数

可复现的随机

测试里需要结果可复现:

random.seed(42)
random.randint(1, 100)   # 每次运行结果相同

常见问题(FAQ)

Q:randint(0, 1) 是二选一吗? 是,等概率返回 0 或 1。

Q:要浮点随机数呢? random.uniform(x, y)

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台