布尔值

问题描述 投票:0回答:1

如果以下变量表示以下布尔值,将全面评估以下哪项:将检查第一个选项并包含第二个选项

a = True
b = False 

not a or b
a and b
a or b
not and b
b and a
b or a

我尝试应用 and, or, not 的布尔原理,似乎我仍然无法得到正确的结果,失败了。我评估了以下选项

not a or b **short circuit** 

a and b **full evaluation** 

a or b **short circuit**

not a and b **full evaluation**

b and a **short circuit**

b or a **full evaluation**
python logic boolean-logic boolean-expression
1个回答
0
投票

您可以使用带有

a = True
的函数来代替变量
b = False
print()
来查看执行了哪个函数。

def a():
    print('a = True')
    return True
    
def b():
    print('b = False')
    return False

print('---')
print('not a or b')
print('result:', (not a()) or b())

print('---')
print('a and b')
print('result:', a() and b() )

print('---')
print('a or b')
print('result:', a() or b())

print('---')
print('not a and b')
print('result:', (not a()) and b())

print('---')
print('b and a')
print('result:', b() and a())

print('---')
print('b or a')
print('result:', b() or a())

结果:

--
not a or b
a = True
b = False
result: False
---
a and b
a = True
b = False
result: False
---
a or b
a = True
result: True
---
not a and b
a = True
result: False
---
b and a
b = False
result: False
---
b or a
b = False
a = True
result: True
© www.soinside.com 2019 - 2024. All rights reserved.