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

为while循环添加剩余尝试计数器(变量减法实现)的问题排查

问题原因

你代码里的Attempts_left变量只在程序启动时计算了一次初始值(3-0=3),之后每次循环中Attempt_count递增,但Attempts_left没有被重新计算,所以它的值始终保持3,导致提示语一直显示“3 attempts left”。

修正后的代码
super_password = "survive"
attempt = ""
attempt_count = 0
max_attempts = 3
out_of_attempts = False

while super_password != attempt and not out_of_attempts:
    if attempt_count < max_attempts:
        # 每次循环时重新计算剩余尝试次数
        attempts_left = max_attempts - attempt_count
        attempt = input(f"Enter password, {attempts_left} attempts left: ")
        attempt_count += 1
    else:
        out_of_attempts = True

if out_of_attempts:
    print("Access denied")
else:
    print("Access granted")
关键调整说明
  • 将attempts_left的计算移到循环内部,确保每次输入前都会根据当前的attempt_count重新计算剩余次数
  • 调整了attempt_count +=1的位置:先计算剩余次数并提示用户输入,再递增计数,这样第一次输入时剩余次数显示3,第二次显示2,第三次显示1,符合直观逻辑
  • 调整了变量名格式,遵循Python的PEP8命名规范(小写字母加下划线),提升代码可读性

内容的提问来源于stack exchange,提问作者Dot's quiries

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:15:27