我正在编写一个提示输入用户名的脚本。用户名的长度必须是 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)
1 回答

慕尼黑8549860
TA贡献1818条经验 获得超11个赞
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")
添加回答
举报
0/150
提交
取消