【发布时间】:2016-11-10 16:07:15
【问题描述】:
我是python编程的新手,最近遇到了这个问题。
while(True):
panelType = input("Enter the type of panel[a, b, c, d]: ")
if(panelType.lower() != "a"
| panelType.lower() != "b"
| panelType.lower() != "c"
| panelType.lower() != "d"):
logger.error("Not a valid input. Try Again")
else:
break
当我使用按位运算符时,我收到此错误:unsupported operand type(s) for |: 'str' and 'str'。但是,一旦我将其更改为 OR 运算符,它就运行良好。
谁能解释为什么会这样?
谢谢
【问题讨论】:
-
使用
if panelType.lower() not in set(['a', 'b', 'c', 'd'])。