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

Python while循环满足条件仍不终止?密码三次重试功能异常排查

错误根源

你当前的循环条件使用了逻辑或or,完全不符合预期的循环触发规则:

  • 逻辑或的规则是只要任意一个条件成立,整体表达式就返回真,你当前的条件guess != password or tries != 3意味着:
    1. 就算你输入了正确密码,guess != password为假,但只要尝试次数还没到3次,tries != 3为真,循环还会继续运行
    2. 就算你已经尝试了3次,只要最后一次输入的密码不对,guess != password为真,循环还是不会终止

你需要的循环触发逻辑应该是:密码输入错误 并且 尝试次数还没到3次的时候才继续循环,所以把or替换成逻辑与and即可。

修正后的可运行代码
password = "password"
guess = ""
tries = 0

# 把or换成and即可修复循环终止问题
while guess != password and tries != 3:
    guess = input("Password: ")
    tries += 1
    print(f"{abs(tries - 3)} Tries Remaining.")

# 可选补充:循环结束后给出明确的结果提示
if guess == password:
    print("密码正确,登录成功")
else:
    print("尝试次数过多,访问已锁定")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:36:00