Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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_Python 3.x - Fatal编程技术网

有没有一种方法可以查看Python中的字符串是否包含任何符号?

有没有一种方法可以查看Python中的字符串是否包含任何符号?,python,python-3.x,Python,Python 3.x,我不是指特定的字符,我只是指任何不是字母数字的东西。我试着询问字符串是否只包含字母和数字字符,如下所示: if userInput.isalpha() and userInput.isdigit() == False: print ("Not valid, contains symbols or spaces") 但是这不起作用,并且会拒绝我输入的所有密码。首先,你不能只使用字母和数字,所以你的表达式总是错误的 其次,方法isalpha()和isdigit()等同于True或False

我不是指特定的字符,我只是指任何不是字母数字的东西。我试着询问字符串是否只包含字母和数字字符,如下所示:

if userInput.isalpha() and userInput.isdigit() == False:
    print ("Not valid, contains symbols or spaces")

但是这不起作用,并且会拒绝我输入的所有密码。

首先,你不能只使用字母和数字,所以你的表达式总是错误的

其次,方法
isalpha()
isdigit()
等同于
True
False
,因此无需使用
==False

我建议使用
.isalnum()

如果这不能满足您的需求,您应该使用正则表达式

alnum
同时查找:并在Python3.x和2中工作

例如:

>>> 'sometest'.isalnum()
True
>>> 'some test'.isalnum()
False
>>> 'sometest231'.isalnum()
True
>>> 'sometest%231'.isalnum()
False
>>> '231'.isalnum()
True

你有三个问题:

  • 如果a=False和b=False
    不是
    ,如果a=False和b=False
    也是
    
    
  • 如果b==False,则应写入
    如果不是b
    ;及
  • 你没有使用,这就避免了你的问题
因此,它应该是:

if not userInput.isalnum():

您的情况检查是否为“isalpha”
,而不是一个数字。Leo,别忘了选择一个正确的答案,以帮助将来看这个问题的人。@Scironic我自己也对他们感到有点惊讶!