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

Python While循环问题求助:密码验证死循环及append方法疑问

问题修复方案

你的代码存在几个关键问题,直接导致了死循环、密码记录失效等问题,以下是修复方案:

核心问题梳理

  • tried_passcode.append() 缺少必填参数,无法将尝试的密码存入列表
  • while True 无限循环中,没有添加退出逻辑(匹配成功时未终止循环),也没有更新输入(不匹配时重复使用旧的验证密码)
  • else语句缩进错误,不符合Python语法规范

修复后的完整代码

tried_passcode = []
name = input("whats your name? ")
print("hello " + name + " ")
password = input("make ur passcode: ")
print("thanks")

while True:
    # 每次循环重新获取用户输入的验证密码
    password_confirmation = input("enter ur passcode: ")
    # 将本次尝试的密码存入列表
    tried_passcode.append(password_confirmation)
    
    if password == password_confirmation:
        print("welcome " + name)
        # 密码匹配成功,退出循环
        break
    else:
        # 输出错误提示及已尝试的所有密码
        print(f"sorry {name}, your passcode is incorrect, you've tried: {tried_passcode}")

关键修改说明

  • 修复列表追加逻辑:给append()传入password_confirmation参数,才能将用户每次输入的密码记录到tried_passcode列表中
  • 解决死循环:密码匹配成功时添加break语句终止循环;不匹配时,每次循环都会重新获取用户输入,避免重复输出相同错误提示
  • 修正缩进问题:将else语句与if语句对齐,符合Python的缩进要求
  • 优化错误提示:使用f-string简化字符串拼接,同时显示已尝试的密码列表,让提示更直观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:06:49