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
相关产品推荐
相关产品推荐

