Python账号注册代码出现无限循环问题该如何解决?
代码修复方案
问题原因
原代码进入密码校验循环后,仅在首次输入密码时给pa变量赋值,当pa长度不符合12位要求时,else分支仅输出错误提示,没有重新获取用户输入的新密码,导致每次循环判断的都是首次输入的错误密码,触发无限循环。
修复后完整代码
pa = "" newpa = "" use = '' # 获取用户名 use = input('请输入用户名:') # 密码长度校验循环:仅当输入12位密码时才退出循环 while True: pa = input('请输入密码:') if len(pa) == 12: break print('您输入的密码不符合系统要求,请输入12位密码') # 二次确认密码校验循环:仅当两次输入一致时退出循环 while True: newpa = input('请再次输入密码:') if newpa == pa: print('您已成功创建新账户!') break print('两次输入的密码不一致,请重新输入')
逻辑说明
- 拆分两次校验逻辑:先单独循环校验密码长度,用户每次输入错误密码都会重新触发输入操作,直到输入符合要求的12位密码
- 长度校验通过后进入二次确认密码环节,同样用循环处理两次密码不一致的场景,直到输入一致的密码后完成注册
内容的提问来源于stack exchange,提问作者Qais Samer Ashkar
相关产品推荐
相关产品推荐

