为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MMTTMM 2021-09-28 17:04:17
我需要以字符串形式生成 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)
查看完整描述

3 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

你可以这样做:


for i in range(8):

    s = bin(i)[2:]

    print(s.zfill(3))

输出


000

001

010

011

100

101

110

111


查看完整回答
反对 回复 2021-09-28
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

你可以用这个;


>>> ['{: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']

只需要将范围转换为十进制。


查看完整回答
反对 回复 2021-09-28
  • 3 回答
  • 0 关注
  • 495 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信