对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001......
请按从小到大的顺序输出这32种01串。
ling = "0"
for i in range(32):
n = bin(i).lstrip("0b")
n = ((5 - len(n))*ling)+n
print(n)
思路 : 这样的排列正好是二进制的0到31, 于是想到将0-32用bin函数直接转换成二进制按照从小到大输出, 但是输出前面有“0b”, 用.lstrip将其除去, 因为输出前面那些数字的时候不是5位数,因此需要对不满五位数的进行前补零, 直接用字符串的乘法对不满的加上相应个数的零就可以了。