Python中条件不成立时如何重复执行代码?以用户名密码验证为例
实现用户名密码错误时重复请求输入的Python方案
嘿,这个需求其实很容易解决——咱们用while循环就能搞定!你原来的代码只做了一次验证,现在只要把输入和验证的逻辑放进循环里,就能让程序在验证失败时重复请求输入。
基础实现版本
直接用while True创建一个无限循环,直到用户输入正确的信息再跳出:
while True: print("Enter username") username = input() print("Enter password") pword = input() if username == "Shadow" and pword == "ItzShadow": print("Access granted to Shadow!") break # 验证通过,终止循环 else: print("Wrong username and / or password. Please try again.")
简化优化版本
其实input()函数可以直接传入提示文本,不用先print再请求输入,代码会更简洁:
while True: username = input("Enter username: ") pword = input("Enter password: ") if username == "Shadow" and pword == "ItzShadow": print("Access granted to Shadow!") break else: print("Wrong username and/or password. Please try again.")
逻辑说明
while True会持续执行循环内的代码,除非遇到break语句- 每次循环都会重新请求用户名和密码
- 当输入匹配正确的用户名和密码时,打印授权信息并执行
break跳出循环;如果不匹配,就提示错误,然后循环自动回到开头,让用户重新输入
内容的提问来源于stack exchange,提问作者James Rogers
相关产品推荐
相关产品推荐

