如何终止密码验证逻辑中的while循环?循环未正常停止问题咨询
解决密码验证循环无法终止的问题
你的代码问题在于passValidation函数仅输出提示信息,没有向循环传递“验证通过”的信号,所以while True会一直执行。只需给函数添加返回值,并在循环中判断验证结果即可终止循环,具体修改如下:
修改后的完整代码
def passValidation(password): if len(password) < 8 : print('你的密码长度至少需要8个字符') return False elif password.isnumeric(): print('你的密码必须包含至少一个字母') return False elif password.isalpha(): print('你的密码必须包含至少一个数字') return False else : print('你的密码验证通过') return True while True : password = input('请输入密码:') if passValidation(password): break
关键修改点
- 给
passValidation函数添加返回值:验证不通过时返回False,通过时返回True - 在
while循环中,调用函数后判断返回结果,若为True则执行break跳出循环
这样当密码符合要求时,循环就会停止,不再要求重复输入。
内容的提问来源于stack exchange,提问作者علیرضا اسماعیلی
相关产品推荐
相关产品推荐

