如何修改Python登录程序,实现3次错误重试后锁定账号?
修复Python登录程序的重试与验证逻辑
原代码的问题
- 用户名和密码的输入语句放在了循环外部,只会获取一次输入内容,循环内反复判断同一组输入,导致错误时连续打印3次"Access denied"
- 无论验证是否成功,循环结束后都会执行
print("Welcome"),逻辑不符合需求
修改后的代码
username = "Student1" password = "WatfordLenMein" # 循环3次,提供3次输入验证机会 for attempt in range(3): input_user = input("Enter username: ") input_pwd = input("Enter password: ") if input_user == username and input_pwd == password: print("Welcome") break # 验证成功,直接跳出循环 else: print("Access denied") # 循环正常执行完所有次数(未被break打断),说明3次输入全错 else: print("Account locked out")
关键修改说明
- 输入移至循环内:每次循环都会重新获取用户名和密码,保证重试时能输入新内容
- 验证成功立即终止:验证通过后打印"Welcome"并跳出循环,避免后续代码执行
for-else结构:当循环完整执行完3次(没有触发break),就会执行else块的账号锁定提示- 逻辑闭环:只有验证成功才会输出"Welcome",否则要么提示错误重试,最后触发锁定
内容的提问来源于stack exchange,提问作者Computer AI
相关产品推荐
相关产品推荐

