Skip to main content
 首页 » 编程设计

python之确定 bool 变量的值

2025年05月04日32over140

考虑两个 bool 变量 A 和 B,以及对这些变量的一些逻辑运算,得到 C:

C = A [OP] B 

其中“OP”可以是“&”、“|”、“^”、“~”等的任意组合。

A、B的值待定。

是否有可能创建一系列测试,使用逻辑操作来明确地根据每个测试的 C 值确定 A 和 B 的 True/False 值?

由于应用程序是使用 NumPy 开发的,所以我最感兴趣的是这个包中的原生运算符。

请您参考如下方法:

不,如果只是给定 C 的值和使用的操作,则不能绝对确定 A 和 B。

需要一个反例来反驳它:

C= True 
OP= | 

A 和 B 有三种可能的有效状态:A=True, B=True, A=True, B=False, A=False, B=真


对于多个(用户选择的)测试,如果您限制自己使用 &、| 和 ^(异或)。在一般情况下这显然是不可能的 - 因为操作是可交换的,所以你无法区分 A 和 B。

举个例子,如果

A & B == False 
A | B == True 
A ^ B == True 

A=True, B=False 和A=False, B=True 都满足条件。


如果我们根本不对您可以测试的表达式应用任何限制,那么获取 B 的值(例如)是微不足道的:只需计算 C=(A|~A)|B 结果将等于 B

但是,如果你没有任何限制,你可以直接说 C=B 并直接测试它!