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

Python猜数程序问题:提交匹配随机数未被识别,求解决方案

问题分析与解决
  • 问题根源:你的第二个for循环逻辑出错了。当前代码里,只要第一个猜测的数字和随机数不匹配,就会立刻执行else块的失败提示,然后break终止循环——剩下的9个猜测根本没机会被检查。就算后面的猜测里有正确的,程序也不会发现。

  • 修正方案:把失败提示的逻辑移到循环结束之后,只有当所有猜测都遍历完且没有匹配项时,才输出失败信息。这里提供两种实现方式:

方式一:用标志变量记录结果

import random
number = random.randint(1,20)
guesses = []

for i in range (1,11):
  guesses.append(int(input("Submit number {} : ".format(i))))

# 初始化标志位,标记是否猜中
found = False
for guess in guesses:
  if guess == number:
        print("Bingo!")
        print("The random number was: ", number)
        found = True
        break

# 循环结束后判断是否找到正确数字
if not found:
    print("Sorry, no bingo today...") 
    print("The random number was: ", number)

方式二:利用Python的for-else特性(更简洁)

Python里for循环的else块会在**循环正常结束(没有被break打断)**时执行,刚好适合这个场景:

import random
number = random.randint(1,20)
guesses = []

for i in range (1,11):
  guesses.append(int(input("Submit number {} : ".format(i))))

for guess in guesses:
  if guess == number:
        print("Bingo!")
        print("The random number was: ", number)
        break
else:
    # 只有所有猜测都不对时才执行这里
    print("Sorry, no bingo today...") 
    print("The random number was: ", number)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 01:37:11