0

假设我有类似的东西:

[(True, False, False), True] = True

或者

(False, [True, True, False], False) = False

可以无限深,元组被评估为 OR 和列表 AND

这个函数怎么能用python写呢?

4

1 回答 1

1

all与和的解决方案any

def evaluate_bool(expr):
    if isinstance(expr, list):
        return all(evaluate_bool(e) for e in expr)
    elif isinstance(expr, tuple):
        return any(evaluate_bool(e) for e in expr)
    else:
        return expr

evaluate_bool([(True, False, False), True]) # True
evaluate_bool((False, [True, True, False], False)) # False
于 2013-04-08T17:01:36.163 回答