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(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)


Smart猫小萌
浏览 112回答 1
1回答

慕尼黑8549860

while您可以使用循环来执行此操作。我不建议递归调用函数来验证用户输入。def invalid_username(username):&nbsp; &nbsp; return not 3 <= len(username) <= 10myUser = input("Please enter username: ")while invalid_username(myUser):&nbsp; &nbsp; myUser = input(&nbsp; &nbsp; &nbsp; &nbsp; "Invalid username! Username must be 3 to 10 characters.\n"&nbsp; &nbsp; &nbsp; &nbsp; "Please enter username: "&nbsp; &nbsp; )print("Valid Username")Python 导师中的示例代码
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python