求助print的机制
本来想做个代码的查询表格发现了一个问题想不明白求助大大们去除乱七八糟的文字后最简单的就是这样
temp = input("请输入想要查询的类型:")
if temp == "print" or "打印":
print("a")
elif temp == "format" or "格式":
print("b")
然而这个代码运行之后
无论输入"print" "打印" "format" "格式" 出现的都是"a"
不加or之前输入print出a输入format出b还是正常的。
求助各位大大实在想不明白{:10_245:} 本帖最后由 jackz007 于 2019-9-30 14:03 编辑
逻辑表达式有问题,应该写成下面这样:
temp = input("请输入想要查询的类型:")
if temp == "print" or temp == "打印":
print("a")
elif temp == "format" or temp == "格式":
print("b") if temp == "print" or "打印":
从逻辑的角度考虑:temp输入值和"print" 进行比较,判断结果是True或者False,这个是正确的,但是or 后面的内容,就有意思了。
“打印”因为是非空,所以是逻辑值:True。
所以这个条件永远为真!!!
所以无论你输入什么值,永远第一个条件成立。
理解了吗?
页:
[1]