在 Python 中打印所有可能的条件

Print all possible conditions in Python

有四个传感器,它们是打开 (0) 还是关闭 (1)。

它们都可以同时打开或关闭。

示例条件如下:

A0 0
A1 0
A2 1
A3 0

另一个:

A0 1
A1 1
A2 1
A3 1

如何打印所有可能的条件?

我正在写一个代码,需要检查哪个条件为真才能做某事,到时候我通过思考写了十个条件。但我认为另一个代码可以帮助我拥有所有条件。

使用itertools.product

>>> list(itertools.product([0, 1], repeat=4))

[(0, 0, 0, 0),
 (0, 0, 0, 1),
 (0, 0, 1, 0),
 (0, 0, 1, 1),
 (0, 1, 0, 0),
 (0, 1, 0, 1),
 (0, 1, 1, 0),
 (0, 1, 1, 1),
 (1, 0, 0, 0),
 (1, 0, 0, 1),
 (1, 0, 1, 0),
 (1, 0, 1, 1),
 (1, 1, 0, 0),
 (1, 1, 0, 1),
 (1, 1, 1, 0),
 (1, 1, 1, 1)]

使用itertools.product。示例:

>>> import itertools
>>> for p in itertools.product((0, 1), repeat=4):
...     for i, v in enumerate(p):
...         print(f"A{i} {v}")
...     print("----")
...
A0 0
A1 0
A2 0
A3 0
----
A0 0
A1 0
A2 0
A3 1
----
A0 0
A1 0
A2 1
A3 0
----
A0 0
A1 0
A2 1
A3 1
----
A0 0
A1 1
A2 0
A3 0
----
A0 0
A1 1
A2 0
A3 1
----
A0 0
A1 1
A2 1
A3 0
----
A0 0
A1 1
A2 1
A3 1
----
A0 1
A1 0
A2 0
A3 0
----
A0 1
A1 0
A2 0
A3 1
----
A0 1
A1 0
A2 1
A3 0
----
A0 1
A1 0
A2 1
A3 1
----
A0 1
A1 1
A2 0
A3 0
----
A0 1
A1 1
A2 0
A3 1
----
A0 1
A1 1
A2 1
A3 0
----
A0 1
A1 1
A2 1
A3 1
----