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

首次输入正确密码却被判定错误,如何解决该Python问题?

修复密码验证功能的问题

你的代码存在三个核心问题,导致首次输入正确密码却被判定错误,还会引发后续逻辑异常:

  1. 错误使用is not比较字符串
    Python里is/is not是判断两个对象是否为同一内存地址,而字符串值相等并不代表是同一个对象(小字符串可能被缓存,但这是不可靠的行为)。正确的字符串值比较应该用!=。

  2. 首次输入正确时无反馈
    当用户第一次输入正确密码,循环条件不满足,会直接跳过循环,没有输出欢迎信息。

  3. 循环内部未更新判断变量
    循环里输入的新密码存在变量a中,但没有更新user_input,导致如果第二次输入错误,循环会一直基于最初的错误输入判断,陷入无限循环。

修复后的代码

password = 'letmein'
user_input = input('Enter your password: ')
while user_input != password:
    user_input = input('Password is wrong, Please try again: ')
print('Welcome Back!')

代码说明

  • 用!=替代is not进行值比较,这是字符串比较的标准写法。
  • 每次循环内更新user_input为新的输入,确保下一次循环判断的是最新输入值。
  • 将欢迎信息放在循环结束后,无论首次输入正确还是多次尝试后正确,都会执行输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:45:32