如果我使用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