提问人:Kafası Güzel Penguen 提问时间:9/23/2023 更新时间:9/24/2023 访问量:47
Python TypeError:|: 'str' 和 'str' 错误不支持的操作数类型
Python TypeError: unsupported operand type(s) for |: 'str' and 'str' error
问:
您好,当我尝试制作一个基本的输入面板时,我遇到了该错误。
TypeError:|: 'str' 和 'str' 不支持的操作数类型
ip = str(input(">>> "))
if ip == "0" | ip == "00":
pass
elif ip == "1" | ip == "01":
send()
elif ip == "2" | ip == "02":
st()
elif ip == "3" | ip == "03":
fst()
elif ip == "4" | ip == "04":
res
只是呜???
答:
3赞
Angry_Llama
9/23/2023
#1
您使用的是按位或运算符,而不是逻辑运算符。在本例中,您是按位比较语句,而不是逻辑比较语句。因此,除非您故意使用按位逻辑,否则不建议在 if 中比较逻辑。|
or
3赞
tdelaney
9/23/2023
#2
|
是按位 or 运算符。从 Operator 优先级来看,绑定比 更紧,所以|
==
ip == "0" | ip == "00"
可以表示为
ip == ("0" | ip) == "00"
str
不支持按位或,所以失败。你想要合乎逻辑的.由于优先级低于 ,因此有效"0" | ip
or
or
==
ip == "0" or ip == "00"
评论
or
|
这个网站
,了解 python 的基本逻辑运算符。