【蓝桥杯】基础练习 01字串 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
问题描述
对于长度为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 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))
拓展:Python格式化输出.format()函数
format函数是Python中一个很强大的格式化输出函数,使用花括号{}来占位,下面结合代码来讲述format函数的用法。
一、匹配顺序
print('姓名:{},年龄:{}'.format('张三', 25))
运行结果:姓名:张三,年龄:25
可以看出,format将根据顺序对前面的花括号进行匹配输出。当然,花括号内也可以写上序号,对format中的内容进行匹配,如下代码所示:
print('姓名:{0},年龄:{1}'.format('张三', 25))
运行结果:姓名:张三,年龄:25
print('姓名:{0},年龄:{0}'.format('张三', 25))
运行结果:姓名:张三,年龄:张三
甚至还可以通过类似字典的方式指定映射输出:
print('姓名:{n},年龄:{a}'.format(n='张三', a=25))
运行结果:姓名:张三,年龄:25
对于列表,format也提供了很方便的输出:
person= ['张三' , 25]
print('姓名:{0[0]},年龄:{0[1]}'.format(person))
运行结果:姓名:张三,年龄:25
花括号内,第一个0表示format()函数内参数的序号。对于字典:
person= {'姓名':'张三' , '年龄':25}
print('姓名:{0[姓名]},年龄:{0[年龄]}'.format(person))
运行结果:姓名:张三,年龄:25
注意:中括号内的key是不用引号引起来的。如果改成{0[“姓名”]}就会报错。
二、对齐与宽度
format使用^,<,>表示居中、左对齐、右对齐,后面加上的数字表示宽度,在对齐符号之前加上特定字符表示当输出的内容不足以占满宽度时,以特定字符填充。
print('姓名:{:0^8},年龄:{:*>4}'.format('张三', 25))
运行结果:姓名:000张三000,年龄:**25
注意:冒号不能少。
三、精度
print('{:.3f}'.format(123.45678))
输出结果:123.457
最后一个数字之所以是7,是因为format会对数据进行四舍五入。
四、千位分隔符
print('{:,}'.format(123456789))
输出结果:123,456,789
五、进制数输出
b、d、o、x分别是二进制、十进制、八进制、十六进制
print('{:b}'.format(10))
输出结果:1010
六、总结
先给出一个综合应用:
print('{0:*^20,.3f} {1:*>20,.3f} {1:-^15}'.format(12345.6789, 5647854.12452,'这是一个字符串'))
1、冒号之前的数字是序号,当format内只有一位元素需要输出时,这个序号可以省略(冒号不能省略)。
2、限定的顺序不能搞错,在{}内,第一是元素序号,第二是冒号,第三是特定补充符号,第四对齐方式,第五宽度,第六千分位分隔符号,第七精度。
【蓝桥杯】基础练习 01字串 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:相关推荐
- 蓝桥杯 基础练习 01字串 C/C++/Java/Python描述
蓝桥杯 基础练习 01字串 C/C++/Java/Python描述 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博 ...
- 蓝桥杯 基础练习 01字串(水题)
基础练习 01字串 时间限制:1.0s 内存限制:256.0MB 问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 00001 00010 ...
- “蓝桥杯”基础练习:01字串
问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串. 输入 ...
- 蓝桥杯基础练习之 闰年判断 、 01字串 、查找整数、数列特征 、字母图形
闰年判断 问题描述 给定一个年份,判断这一年是不是闰年. 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数: 2. 年份是400的倍数. 其他的年份都不是闰年. 输入格式 ...
- 【c语言】蓝桥杯基础练习 01字串
[问题描述] 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串. ...
- 基础的01字串 蓝桥杯基础题
问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串. 输入 ...
- 蓝桥杯 基础练习全解 答案+解析 共17题 python
关键字 A+B问题,数列排序,十六进制转八进制,十六进制转十进制,十进制转十六进制,特殊回文数,回文数,特殊的数字,杨辉三角形,查找整数,数列特征,字母图形,01字串,闰年判断,斐波那契数列,圆的面积 ...
- 蓝桥杯基础试题练习小结(vip)(二)
试题 基础练习 矩形面积交 问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积. 输入格式 输入仅包含两行, ...
- 蓝桥杯基础练习-数的读法
蓝桥杯基础练习-数的读法 问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿. 比如说,在对学 ...
最新文章
- linux设备驱动第五篇:驱动中的并发与竟态
- ESLint 配置说明
- 谷歌Colab也搞“超级会员”,普通会员云GPU被降级,想用高端得加钱
- Python中的驻留机制:小数据池和代码块
- 用matlab 拟合实数解,求大神指点matlab用拟合的方式解延迟微分方程组参数
- 2 snippets vue 修改配置_VsCode从零开始配置一个属于自己的Vue开发环境
- Servlet(JSP)中动态生成JPG PNG透明 水印图像
- 赞!7000 字学习笔记,MySQL 从入到放弃
- PL-SLAM:通过点和线段组合的立体SLAM系统
- python进程/线程/协成
- mysql 列连接_计数mysql中的连接列
- vux安装时报vux-loader配置问题
- 【git新建分支拉取分支】git submodule update --init --recursive
- JQuery dad js自定义删除和拖动回调事件
- VYSOR-投屏软件
- 【locust】通过ip访问失败
- 小程序源码:全新圣诞节头像框制作生成
- Mcad学习笔记之通过反射调用類的方法,屬性,字段,索引器(2種方法)
- redis集群moved重定向与redis集群ask重定向
- Lesson 55 The Sawyer family