python中or_python中 or 和 | 有什么区别

guess = 0

secretNum = 14

for number in range(1,4):

if guess == 0 or guess > 20 :

print("数字必须位于1-20之间")

continue

if guess < secretNum:

print("太小啦")

elif guess > secretNum:

print("太大啦")

else:

break

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

guess = 0

secretNum = 14

for number in range(1,4):

if guess == 0 | guess > 20 :

print("数字必须位于1-20之间")

continue

if guess < secretNum:

print("太小啦")

elif guess > secretNum:

print("太大啦")

else:

break

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

为什么两份代码就唯一的 or 和 | 的不同,运行结果不一样?我们之前应该觉得这2个符号是能代替才对呀?

(1)如果a,b是数值变量, 则 |表示位运算

if表达式相当于:if 0 == 0 | 0 > 20  而>>> 0 == 0 | 0 > 20

False

>>>

所以根本没有进入if guess == 0 or guess > 20 :里面的代码块去执行代码。

(2)如果a, b是逻辑变量, 则or 和 | 用法基本一致>>> (3>0) | (3<1)

True

>>> (3>0) or (3<1)

True

>>>

总结:为了避免出现今天这个错误,请在python逻辑判断需要或连接时候,尽量用or,不要用其他语言用的那个竖|

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值