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

时间:2016-09-18 04:16:10

标签: python loops

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

这是代码:

loop = 0
a = 'm/es\s/a/ge'
while loop <= len(a)-1:
    if a[loop] == '/' or '\\':
        print ('found at: ' + str(loop))
    loop += 1

输出:

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

它应该只打印任何4次(因为字符串中只有4个斜杠)

我尝试删除&#34;或&#34;以及其他可能的价值,并且它做了它应该做的事情,所以问题必须是&#34;或&#34;

我正在使用&#34;或&#34;错误?或者这是别的吗?

编辑: 我尝试了How do I test one variable against multiple values?,但问题是如何针对单个值测试多个变量,而我需要知道如何针对多个可能的值测试单个变量

2 个答案:

答案 0 :(得分:1)

您想要使用

if a[loop] == '/' or a[loop] == '\\'

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

答案 1 :(得分:0)

您必须在条件声明中使用它:

  

如果[循环] ==&#39; /&#39;或[循环] ==&#39; \\&#39;: