Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中验证名称?_Python_Validation - Fatal编程技术网

如何在Python中验证名称?

如何在Python中验证名称?,python,validation,Python,Validation,我需要验证一个名称输入,其中的代码确保用户不会输入任何随机字符以及数字来回复他们的名称。到目前为止,我尝试使用.isdigit()命令,但是该命令不允许用户重新尝试输入他们的姓名 name = input("\nWhat Is Your Name? : ") if name.isdigit(): print ("Invalid!") name = input("\nWhat Is Your Name? : ") continue else : print("

我需要验证一个名称输入,其中的代码确保用户不会输入任何随机字符以及数字来回复他们的名称。到目前为止,我尝试使用
.isdigit()
命令,但是该命令不允许用户重新尝试输入他们的姓名

name = input("\nWhat Is Your Name? : ") 

if name.isdigit():
    print ("Invalid!") 
    name = input("\nWhat Is Your Name? : ")
    continue
else :
    print("\nHi {}! Welcome to the Arithmetic quiz!".format(name))

Continue仅在循环中工作,但这里有一个可供您使用的循环,它可以满足您的需要:

while True:
   name = input("\nWhat Is Your Name? : ")
   if not name.isalpha():
       print ("Invalid!") 
   else:
        break    

print("\nHi {}! Welcome to the Arithmetic quiz!".format(name))

因此名称不应包含任何数字。似乎有两个问题:1)如何检查输入字符串是否为有效名称(.isalpha()?),2)如何重复用户提示直到输入有效。@VigneshKalai是的,这就是目标请不要破坏您自己的帖子。你可以让它从你的帐户中分离出来,如果你想-标志着版主的注意,要求分离,并给出一个你想要分离的好理由。你可以解释一下“While True”行背后的原因吗@gkusner@MysticMods‘while loop’循环直到给定的条件在本例中为false,而在本例中为True,它将继续循环,因为该条件从未失败,它将继续循环。因此,在本例中,只有满足了在else情况下满足的
break
语句,它才会中断循环,因此
在本例中为True时将循环直到给出的名称有效为止
很抱歉我错过了问题,但Vignesh Kalai给出了正确的解释。@VigneshKalai Kalai谢谢,现在我明白了,无论如何谢谢你的回复,谢谢你的帮助…@MysticMods如果这个答案解决了你的问题,请接受,然后评论错误:)并乐于帮助