鱼C论坛

 找回密码
 立即注册
查看: 1764|回复: 2

[已解决]求助print的机制

[复制链接]
发表于 2019-9-30 13:59:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本来想做个代码的查询表格发现了一个问题想不明白求助大大们
去除乱七八糟的文字后最简单的就是这样
temp = input("请输入想要查询的类型:")
if   temp == "print" or "打印":
     print("a")

elif temp == "format" or "格式":
     print("b")
然而这个代码运行之后
无论输入"print" "打印" "format" "格式" 出现的都是"a"
不加or之前输入print出a输入format出b还是正常的。
求助各位大大实在想不明白
最佳答案
2019-9-30 15:04:59
if   temp == "print" or "打印":
从逻辑的角度考虑:temp输入值和"print" 进行比较,判断结果是True或者False,这个是正确的,但是or 后面的内容,就有意思了。
“打印”因为是非空,所以是逻辑值:True
所以这个条件永远为真!!!
所以无论你输入什么值,永远第一个条件成立。
理解了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-30 14:02:07 | 显示全部楼层
本帖最后由 jackz007 于 2019-9-30 14:03 编辑

      逻辑表达式有问题,应该写成下面这样:

temp = input("请输入想要查询的类型:")
if   temp == "print" or temp == "打印":
     print("a")

elif temp == "format" or temp == "格式":
     print("b")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-30 15:04:59 | 显示全部楼层    本楼为最佳答案   
if   temp == "print" or "打印":
从逻辑的角度考虑:temp输入值和"print" 进行比较,判断结果是True或者False,这个是正确的,但是or 后面的内容,就有意思了。
“打印”因为是非空,所以是逻辑值:True
所以这个条件永远为真!!!
所以无论你输入什么值,永远第一个条件成立。
理解了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 04:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表