如何检查字符串是否包含任何数字

时间:2015-06-26 23:18:02

标签: python

我正在尝试验证用户姓名的输入。到目前为止,我可以阻止他们只输入数字,并使用while循环重复提示。如何停止包含字母和数字的字符串被接受?

这是我到目前为止所做的:

name = ""
name = input("Please enter your name:")
while name == "" or name.isnumeric() == True:
    name = input("Sorry I didn't catch that\nPlease enter your name:")

1 个答案:

答案 0 :(得分:3)

使用anystr.isdigit

htmlText

在你的情况下:

>>> any(str.isdigit(c) for c in "123")
True
>>> any(str.isdigit(c) for c in "aaa")
False

或者,您可以使用str.isalpha

  

如果字符串中的所有字符都是字母并且至少有一个字符,则返回true,否则返回false。

     

对于8位字符串,此方法取决于语言环境。

我会像这样使用它来验证像while name == "" or any(str.isdigit(c) for c in name): name = input("Sorry I didn't catch that\nPlease enter your name:") 这样的东西:

"Reut Sharabani"

它的作用是用空格分割输入,并确保每个部分只是字母。