创建一个已知长度的重复二进制模式

时间:2019-06-14 16:59:35

标签: python-3.x binary

我想根据用户指定的长度创建一个重复的二进制模式。指定的数字将确定每个周期中的0和1。例如,如果用户输入2,则他们将得到0011。如果用户输入8,他们将得到0000000011111111。这是我的问题...我可以使用format方法创建二进制字符串,但这仅是因为我知道长度并对格式进行硬编码。

def togglePattern(iLength):
    """ set up a repeating pattern """
    ones = 1

    for i in range(0, iLength):
         ones = ones | (1 << i)

    dnup = '{:016b}'.format(ones)
    print("dnup: %s" % dnup)

如果我输入的长度为8,我会得到:

updn: 0000000011111111

但是,如果我输入2,那么我会明白这一点:

updn: 0000000000000011

如何将其格式化为两倍于“ iLength”的字符串?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

numbits = 8
print(numbits * '1' + numbits * '0')