下列字符串空一格编号(1)(2),空二格编号①②③

z = '''
因果推断是我接触比较久的名词,最早可以溯源蝴蝶效应,一只来自亚马逊热带雨林的蝴蝶,扇了一下翅膀,可以引起远在千里之外的美国海岸线一场龙卷风。

何为因果推断
    关键词
        蝴蝶效应
        马得蹄
    一句话描述
    栗子🌰
        分支
        顺序
        循环
    泛化
        判断
        指数
        阶乘
'''

# 我这里的空格是制表符,实际是为了区分
# print 打印

因果推断是我接触比较久的名词,最早可以溯源蝴蝶效应,一只来自亚马逊热带雨林的蝴蝶,扇了一下翅膀,可以引起远在千里之外的美国海岸线一场龙卷风。

1.何为因果推断
    (1).关键词
        ①.蝴蝶效应
        ②.马得蹄
    (2.)一句话描述
    (3).栗子🌰
        ①.分支
        ②.顺序
        ③.循环
    (4).泛化
        ①.判断
        ②.指数
        ③.阶乘

# 第1个"何为因果关系"那里并没有空格,用\n替代

代码

z = ''' ''' # 您的多行文本

# 一、分词

text = z.strip().split('\n')
table = text[1:]
text = text[0]

# 二、加序号
k1, k2, k3 = 1, 1, ord('①')

for i in range(len(table)):
    if table[i].count(' ') == 4: # 鉴于您的目录仅行首有空格,可以用count方法统计空格数。
        table[i] = f"{' ':>4}({k2}).{table[i].lstrip()}"
        k2 += 1
    elif table[i].count(' ') == 8:
        table[i] = f"{' ':>8}{chr(k3)}.{table[i].lstrip()}"
        k3 += 1
    else:
        table[i] = f"1、{table[i]}"
        k1 += 1

# 三、打印
table = '\n'.join(table)
print(f"\n{'~':~^41}\n{'':>4}{text}\n\n{table}\n{'~'*41}")

代码运行效果截屏

img