密码检查器功能异常:无法实现用户名与密码重复输入校验
问题排查与代码修正
原代码存在的问题
- 用户名输入错误时,仅对
user_name赋值提示字符串,没有重新获取用户输入,也无循环逻辑,程序直接终止 - 密码输入错误时,调用了不存在的
password_函数,同样没有循环重新输入的逻辑 - 整体缺少循环校验机制,无法实现"错误则重新输入"的需求
修正后的代码
username = "fay" password = "321" # 循环校验用户名 while True: user_name = input("What is your username?:") if user_name == username: break print("Username error, please re-enter username:") # 用户名正确后,循环校验密码 while True: passWord = input("Please enter your password:") if passWord == password: print("welcome!") break print("Password error, please re-enter password:")
修正说明
- 使用
while True循环实现持续输入校验,直到输入正确才通过break跳出循环 - 错误提示改为用
print输出,再重新触发输入逻辑 - 拆分用户名和密码的校验循环,逻辑更清晰,符合需求流程
内容的提问来源于stack exchange,提问作者MinA-Fay
相关产品推荐
相关产品推荐

