0
我对python编程相当陌生,最近遇到了这个问题。“或”与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运营商,它运行良好。
任何人都可以解释为什么发生这种情况?
感谢
使用'如果panelType.lower()未在集合([ '一', 'B', 'C', 'd'])'。 – SparkAndShine