【发布时间】:2021-03-23 23:21:03
【问题描述】:
我在 Python 3.9 (f(x, y, z) = (x and y) or (not x and z)) 中创建了一个非常简单的函数,用于打印此操作的结果。让我感到奇怪的是,在某些情况下它打印 0,而在另一些情况下它打印 False。例如,f(0, 1, 0) 打印 0 但f(1, 0, 1) 打印 False。这是为什么呢?
【问题讨论】:
-
即使您认为它非常简单,进一步简化(例如尝试
or的一侧,然后尝试另一侧)将有助于找到答案! -
你是整数的类型转换,
(x and y) or (int(not x) and z)
标签: python python-3.x boolean boolean-logic boolean-expression