booltuples(2) yields 4 tuples: (False, False), (False, True), (True, False), (True, True).
(n)
| 178 | """.strip() |
| 179 | |
| 180 | def booltuples(n): |
| 181 | """booltuples(2) yields 4 tuples: (False, False), (False, True), |
| 182 | (True, False), (True, True).""" |
| 183 | |
| 184 | assert isinstance(n, int) |
| 185 | if n <= 0: |
| 186 | yield () |
| 187 | else: |
| 188 | for initial in booltuples(n-1): |
| 189 | yield initial + (False,) |
| 190 | yield initial + (True,) |
| 191 | |
| 192 | def fnname(flags): |
| 193 | assert len(FLAGLETTERS) == len(flags) |