Python会一直提示,直到有效

Python会一直提示,直到有效,python,Python,我正在编写一个提示输入用户名的脚本。用户名长度必须为3个或更多,10个或更少字符。我想用while重构代码,而不是重复提示 def hint_username(username): if len(username) < 3: print("Invalid Username, minimum of 3 characters") myUser = input("Please enter username: ") hint_username

我正在编写一个提示输入用户名的脚本。用户名长度必须为3个或更多,10个或更少字符。我想用while重构代码,而不是重复提示

def hint_username(username):
    if len(username) < 3:
        print("Invalid Username, minimum of 3 characters")
        myUser = input("Please enter username: ")
        hint_username(myUser)
    elif len(username) >10:
        print("Invalid Username, maximum of 10 characters")
        myUser = input("Please enter username: ")
        hint_username(myUser)
    else:
        print("Valid Username")

myUser = input("Please enter username: ")
hint_username(myUser)

您可以通过一个while循环来实现这一点。我不建议递归调用函数来验证用户输入

def invalid_username(username):
    return not 3 <= len(username) <= 10


myUser = input("Please enter username: ")
while invalid_username(myUser):
    myUser = input(
        "Invalid username! Username must be 3 to 10 characters.\n"
        "Please enter username: "
    )

print("Valid Username")


小心,看起来您混合了多个变量命名约定!