Я довольно новичок в программировании на питоне, и недавно я столкнулся с этой проблемой.Разница между «или» и побитовым оператором в 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() не в наборе ([ 'а', 'б', 'с', 'd'])'. – SparkAndShine