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

Python生成随机数并循环匹配指定条件的问题求助

问题分析与解决

你的代码存在两个核心问题:

1. 随机数仅生成一次

你把ra.randint(0,100)写在while循环外面,整个程序只会生成一个固定的随机数:

  • 如果这个数不满足while的条件(比如第一次生成的不是56,或者不大于56),循环直接跳过,完全不执行。
  • 如果这个数满足条件(比如刚好是56,或者大于56),循环里没有更新这个变量,会一直重复执行循环体,导致无限循环。

2. 冗余的条件判断

while循环已经判断了条件,内部的if完全是多余的,属于重复代码。


修正后的代码示例

场景1:不断生成随机数,直到等于56时打印提示并停止

import random as ra

while True:
    random_num = ra.randint(0, 100)
    if random_num == 56:
        print('this is it')
        break  # 找到目标数,退出循环

场景2:不断生成随机数,每次生成大于56的数就打印(可一直运行,手动停止)

import random as ra

while True:
    random_num = ra.randint(0, 100)
    if random_num > 56:
        print('this is it')

另一种写法:先初始化随机数,用while条件控制循环

import random as ra

random_num = ra.randint(0, 100)
# 循环直到随机数等于56
while random_num != 56:
    random_num = ra.randint(0, 100)
print('this is it')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:20:32