【蓝桥杯】基础练习 01字串 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:

这篇博客介绍了蓝桥杯竞赛中关于01串的基础练习,要求按顺序输出所有长度为5的01串。文章详细讲解了两种解决方案,包括直接利用二进制输出和循环交替遍历的方法,并且拓展讨论了Python的格式化输出函数`format()`,涵盖匹配顺序、对齐与宽度、精度、千位分隔符和进制数输出等多个方面。
摘要由CSDN通过智能技术生成

问题描述

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

输入格式

本试题没有输入。

输出格式

输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
……

试题解答

1、直观来看字串符合二进制输出,总共输出32行,故需要在0~31遍历行数。

方法一:
for i in range(32):
    a='{:0>5b}'.format(i)
    print(a)

考察的是格式输出:
1、^,<,>分别是居中、左对齐、右对齐,后面带宽度。本题为5。
2、:号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。本题用0填充
3、+表示在正数前显示+.负数前显示-; (空格) 表示在正数前加空格。本题均是正数无需表示。
4、b、d、o、x分别是二进制、十进制、八进制、+六进制。本题为b表示二进制输出
5、使用大号{}来转义

方法二:

5位数每一位在0~1中交替遍历循环输出:

for a in range(0, 2):
    for b 
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值