在 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
如何打印所有可能的条件?
我正在写一个代码,需要检查哪个条件为真才能做某事,到时候我通过思考写了十个条件。但我认为另一个代码可以帮助我拥有所有条件。
>>> 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
----
有四个传感器,它们是打开 (0) 还是关闭 (1)。
它们都可以同时打开或关闭。
示例条件如下:
A0 0
A1 0
A2 1
A3 0
另一个:
A0 1
A1 1
A2 1
A3 1
如何打印所有可能的条件?
我正在写一个代码,需要检查哪个条件为真才能做某事,到时候我通过思考写了十个条件。但我认为另一个代码可以帮助我拥有所有条件。
>>> 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
----