蓝桥杯练习系统01字串(python)

问题描述

对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。

输出格式

输出32行,按从小到大的顺序每行一个长度为5的01串。

参考代码

# 方法一:
for i in range(0,32):
    print("{0:0>5b}".format(i))
# 方法二:
for a in range(0, 2):
    for b in range(0, 2):
        for c in range(0, 2):
            for d in range(0, 2):
                for e in range(0, 2):
                    print(str(a) + str(b) + str(c) + str(d) + str(e))

考察知识点

1.长度为5的01字串,最大值为11111,转换成10进制就是31,方法一的思路就是先在0~32这个范围内一次检索,再把检索到的数转成二进制数输出
2.format()函数通过 {} 和 : 来代替以前的 %
冒号之前的数字实际上是序号,当format内只有一位元素需要输出时,这个序号可以省略(冒号不能省略)
format使用>、、<来表示左对齐、居中对齐、右对齐。在对齐符号(>、、<)后面加上的数字,表示宽度,在对齐符号之前加上特定字符表示当输出的内容不足以占满宽度时,以特定字符填充。
本题就是使用0占位,右对齐,宽度为5
关于formate函数的详细用法可参考下面这篇文章
Python格式化输出之format函数
2.方法二是通过5层循环+字符拼接实现输出

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值