例如: 0 10 11 100 101 110 111
等等。
我想让它无限地进行,但这可能是不可能的。 我已经尝试过这个:
lista = [1,2,3,4,5,6,7,8,9,10]
listres = [str(bin(x))[2:].zfill(4) for x in lista]
print(listres)
它确实有效,但都是一行,而且不是无限的。
最佳答案
您可以创建一个生成器:
def infinite_binary():
x = 0
while True:
yield str(bin(x))[2:]
x += 1
infinite_binary_gen = infinite_binary()
while True:
print(next(infinite_binary_gen))
输出:
0
1
10
11
100
101
110
111
1000
1001
... and so on
如 @chepner 中所述的评论您可以使用 itertools.<b>count</b>(<i>start=0</i>, <i>step=1</i>)
对于基本生成器:
from itertools import count
infinite_binary_gen = (str(bin(x))[2:] for x in count())
while True:
print(next(infinite_binary_gen))
关于python - 如何创建二进制数字的无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65603345/