You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用random.randint生成排除指定数字的1-10随机整数

生成排除指定数字的1-10随机整数

当然可以实现,这里提供两种实用的解决方案:

方法一:循环判断直到生成合法数字

这种方法逻辑简单直接,适合像1-10这样的小范围场景:

import random

x = 3  # 要排除的数字
while True:
    random_num = random.randint(1, 10)
    if random_num != x:
        print(random_num)
        break

原理是不断生成1-10的随机数,直到得到不等于x的数字为止。因为范围很小,几乎不会出现循环多次的情况,性能可以忽略。

方法二:先构建合法数字列表再随机选择

这种方法更高效,尤其当数字范围更大时,避免了循环判断的不确定性:

import random

x = 3  # 要排除的数字
valid_nums = [num for num in range(1, 11) if num != x]
print(random.choice(valid_nums))

原理是先创建一个不包含x的1-10数字列表,再从这个列表里随机挑选一个元素,这样生成的数字天然符合要求,概率分布也完全均匀。

内容的提问来源于stack exchange,提问作者TNTDoctor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:40:29