Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.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
如果我使用or,python总是将if语句返回为true_Python_Loops - Fatal编程技术网

如果我使用or,python总是将if语句返回为true

如果我使用or,python总是将if语句返回为true,python,loops,Python,Loops,我对编程比较陌生,当我制作一个简单的扫描器时,只要它找到正斜杠(/)或反斜杠(\),它就会运行一个命令,它会输出(我认为)它不应该输出的东西 代码如下: loop = 0 a = 'm/es\s/a/ge' while loop <= len(a)-1: if a[loop] == '/' or '\\': print ('found at: ' + str(loop)) loop += 1 当它应该只打印4次任何内容时(因为字符串中只有4个斜杠) 我尝试

我对编程比较陌生,当我制作一个简单的扫描器时,只要它找到正斜杠(/)或反斜杠(\),它就会运行一个命令,它会输出(我认为)它不应该输出的东西

代码如下:

loop = 0
a = 'm/es\s/a/ge'
while loop <= len(a)-1:
    if a[loop] == '/' or '\\':
        print ('found at: ' + str(loop))
    loop += 1
当它应该只打印4次任何内容时(因为字符串中只有4个斜杠)

我尝试删除“or”和其他可能的值,但它做了它应该做的,所以问题一定是“or”

我用的是“还是”错了?或者这是别的什么

编辑: 我试过了,但问题是如何针对单个值测试多个变量,而我需要知道如何针对多个可能的值测试单个变量

如果[loop]=='/'或[loop]=='\\'


否则,
'\\'
将始终返回true。

您必须在条件声明中使用此选项:

如果[loop]='/'或[loop]=='\\':


你不能那样使用
。如果a==1或2,这不是
如果a==1或a==2,这不是
如果a==1或a==2,这是
或者更简单:
如果a在[1,2]
中重新阅读重复的问题,它适用于你的
如果[loop]==='/'或'\\\':
语句。
found at: 0
found at: 1
found at: 2
found at: 3
found at: 4
found at: 5
found at: 6
found at: 7
found at: 8
found at: 9
found at: 10