GlacierGao 发表于 2021-2-3 23:16:05

关于if判断条件的小问题

insrt = input('请输入指令代码:')

    if insrt == 'N':
      name = input('请输入用户名:')
这就可以
insrt = input('请输入指令代码:')

    if insrt == 'N' or 'n':
      name = input('请输入用户名:')
这就不行
代码太长,前后都没复制上来。我想问题应该出在if判断条件那里,请问为什么不能有or呢?
【刚刚发了一条帖子没发出去,告诉我在审核中,我的心态有亿点小崩】

Daniel_Zhang 发表于 2021-2-3 23:18:47

本帖最后由 Daniel_Zhang 于 2021-2-3 23:24 编辑

if insrt == 'N' or insrt == 'n' :        才可以

python 不支持直接 if insrt == 'N' or 'n':

从优先级可以看出 == 的优先级 高于 or 的优先级

所以如果按照楼主的方式, 即 if insrt == 'N' or 'n': 的话, == 之后,python 不知道 or 后面对应的是什么

if insrt == 'N' or insrt == 'n' : 就很明了,一个是 insrt == 'N'另一个是 insrt == 'n'

中间一个 or

表明左右两边满足至少一个就能满足 if 的条件{:10_248:}

GlacierGao 发表于 2021-2-3 23:22:04

Daniel_Zhang 发表于 2021-2-3 23:18
if insrt == 'N' or insrt == 'n' :        才可以

太谢谢了TAT{:10_266:}

Daniel_Zhang 发表于 2021-2-3 23:25:18

GlacierGao 发表于 2021-2-3 23:22
太谢谢了TAT

嗯嗯,我又补充了一点在上面的回复里,可以看看{:10_254:}

GlacierGao 发表于 2021-2-5 17:48:46

本帖最后由 GlacierGao 于 2021-2-5 17:51 编辑

Daniel_Zhang 发表于 2021-2-3 23:25
嗯嗯,我又补充了一点在上面的回复里,可以看看

超级感谢!懂了懂了
页: [1]
查看完整版本: 关于if判断条件的小问题