You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中==、!=运算符及or逻辑用法困惑求解

我最近刷编程练习题的时候遇到个小坎儿:代码跑出来的结果总不对,排查半天没找到问题,最后发现是自己对or运算符的用法有点混淆。为了搞清楚,我特意用13到19的数字范围做了测试,终于把逻辑捋顺了!

测试代码

我用这段循环来调用测试函数:

for i in range(13,20): func(i)

函数1:基于or的正向判断

先写了第一个版本的函数:

def func(n):
    if n == 15 or n == 16:
        pass
    else:
        n = 0

运行结果:0 0 15 16 0 0 0
这个逻辑很直观:如果n是15或者16,就什么都不做;其他情况把n设为0。

函数2:基于and的反向判断

为了验证逻辑,我又写了一个反向逻辑的版本:

def func(n):
    if n != 15 and n != 16:
        n = 0
    else:
        pass

运行结果:0 0 15 16 0 0 0
这个逻辑是:如果n既不是15也不是16,就把n设为0;反之则跳过操作。

总结

之前我总在or和and的逻辑转换上犯懵,这次通过两个等价逻辑的函数测试,终于确认了它们的正确性——其实这两个函数的逻辑是完全等价的,只是一个用正向条件判断,一个用反向条件判断,最终的运行结果完全一致,也帮我彻底理清了or运算符的用法。

内容的提问来源于stack exchange,提问作者ron_g

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:33:56