蓝桥杯-零基础python的刷题之路-01字串,包含各个知识点详细记录

蓝桥杯-零基础python的刷题之路-01字串,包含各个知识点详细记录_第1张图片

首先是对问题的理解,此题没有输入,且看题目描述的输出,这不就是要依次输出00000-11111嘛。以前学习数电真值表的时候对这些个数十分敏感,所以这题理解起来对小白比较友好。

下面是老样子,知识点整理。

a.00000-11111是十进制数0到32,可以用到关于进制转换的知识,即把十进制转换成二进制。

所需函数 bin()函数,具体用法:

Python bin() 函数 | 菜鸟教程 (runoob.com)

举例如下:

蓝桥杯-零基础python的刷题之路-01字串,包含各个知识点详细记录_第2张图片

 需要注意:我们看到如果直接转换,输出的二进制数前边是有0b前缀的,不符合题目要求。所以用到了字符串切割的知识。

b.字符串切割

看我的这一篇文章 ,也是涉及到了进制转换,所以在做题的时候涉及到进制转换就大概率会用到切割。

​​​​​​蓝桥杯-零基础python的刷题之路-十六进制转八进制(包含知识点详细记录)_m0_37805091的博客-CSDN博客

单纯的进行切割参考代码:

      

for i in range(32):
    print(bin(int(i))[2:])

c.字符串添加首尾

上面的代码,结果是这样的:

蓝桥杯-零基础python的刷题之路-01字串,包含各个知识点详细记录_第3张图片

可以看到这样是不符合题目的。小白查询资料后知道了一种思路就是在每个数字之前都加0000,这样最后取的时候从第四个位置取后面所有,就能出现题目中的输入,我们来试一下将字符串扩充,所用语句为:

a='0000'+bin(i)[2:] 

此时的输出就是在上图的结果前面全部加上四个0:

蓝桥杯-零基础python的刷题之路-01字串,包含各个知识点详细记录_第4张图片

 

注意:只要在字符串前加所需要的数字即可,记得用引号!

d.字符串[-5,0]的含义

举例:

str = '0000' + str(num)	# 在字符串前加零
print str[-5:]		# 输出字符串右5位

最终参考代码

i=0
while i<32:
    a='0000'+bin(i)[2:]
    print(a[-5:])
    i+=1 

你可能感兴趣的:(小白的蓝桥杯刷题之路,蓝桥杯,python,职场和发展)