Python打印从000到111的所有二进制数

我需要以字符串形式生成 000-111 之间的所有二进制数,我的第一种方法如下所示。然而,让我震惊的是,这一定是一种非常低效的方法。请问有没有更好的方法,它们如何更有效率?


 # print all binary numbers from 000 - 111

    for i in range(2):

        for j in range(2):

            for k in range(2):

                value = f'{i}{j}{k}'

                print(value)


MMTTMM
浏览 496回答 3
3回答

ibeautiful

你可以这样做:for i in range(8):    s = bin(i)[2:]    print(s.zfill(3))输出000001010011100101110111

慕码人8056858

你可以用这个;>>> ['{:03b}'.format(i) for i in range(8)]['000', '001', '010', '011', '100', '101', '110', '111']>>> ['{:03b}'.format(i) for i in range(2,8)]['010', '011', '100', '101', '110', '111']只需要将范围转换为十进制。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python