Python TypeError错误求解:字符串间不支持|运算符
错误原因分析:TypeError: unsupported operand type(s) for |: 'str' and 'str'
你代码里的|是位运算符,它仅用于整数的二进制位运算,不能用来连接字符串的相等判断条件。Python中实现“或”逻辑判断,必须用or关键字,而非|。
看你出错的代码行,比如if ip == "0" | ip == "00":,Python会优先计算"0" | "00",但字符串类型不支持位运算,因此直接抛出了TypeError。
修正后的代码
ip = str(input(">>> ")) if ip == "0" or ip == "00": pass elif ip == "1" or ip == "01": send() elif ip == "2" or ip == "02": st() elif ip == "3" or ip == "03": fst() elif ip == "4" or ip == "04": res
更简洁的写法(推荐)
可以用in关键字判断字符串是否在指定元组内,让代码更紧凑:
ip = str(input(">>> ")) if ip in ("0", "00"): pass elif ip in ("1", "01"): send() elif ip in ("2", "02"): st() elif ip in ("3", "03"): fst() elif ip in ("4", "04"): res
内容的提问来源于stack exchange,提问作者Kafası Güzel Penguen
相关产品推荐
相关产品推荐

