Python中如何生成仅含0和1、至12位全1的有序序列
固定顺序01序列生成实现
输出匹配规则
这套生成逻辑完全对齐给出的示例格式,全程无随机逻辑,输出顺序固定:
- 起始项固定为单字符
0 - 按串长从短到长逐组输出:依次生成2位长度、3位长度……直到12位长度的所有串
- 对2位及以上的串组:枚举该长度下所有01组合,剔除对应十进制值为0的全0串,剩余串按照对应十进制数值从小到大排序输出
- 序列自然终止于12位长度的最后一个串
111111111111,满足终止要求
规则匹配校验:生成的前11项和示例完全一致
0 01 10 11 001 010 011 100 101 110 111
可直接运行的Python代码
seq = ["0"] # 逐位生成2到12长度的所有串 for str_len in range(2, 13): # 从对应十进制值1开始枚举,跳过全0串 for decimal_val in range(1, 2 ** str_len): # 转成定长二进制字符串 bin_content = bin(decimal_val)[2:].zfill(str_len) seq.append(bin_content) # 逐行输出所有序列项 print("\n".join(seq))
代码执行后会输出全部符合要求的序列,总项数共8178项,覆盖从起始项到12位全1终止项的全部内容。
内容的提问来源于stack exchange,提问作者K. John Michel
相关产品推荐
相关产品推荐

