虽然可以用CSS,但还是想用Python实现
初步想法:
python分析出标题级别,加上数字标号
str="""#
##
###
###
##
#
##
###
####
####
#
##
#######
###"""
lines = str.split("\n")
stepUp = 0
titleNum = [0,0,0,0,0,0,0,0,0,0,0,0,0]
lastLevel = 0
for line in lines:
c= line.count('#')
# print(c,lastLevel,stepUp,titleNum,line)
if lastLevel>c:
stepUp = c
titleNum[stepUp]+=1
for i in range(c+1,6):
titleNum[i] = 0
else:
titleNum[c]+=1
lastLevel = c
print(c,lastLevel,stepUp,titleNum,line)
# print("============")
结果
[0, 1, 0, 0, 0, 0, 0, 0, 0] #
[0, 1, 1, 0, 0, 0, 0, 0, 0] ##
[0, 1, 1, 1, 0, 0, 0, 0, 0] ###
[0, 1, 1, 2, 0, 0, 0, 0, 0] ###
[0, 1, 2, 0, 0, 0, 0, 0, 0] ##
[0, 2, 0, 0, 0, 0, 0, 0, 0] #
[0, 2, 1, 0, 0, 0, 0, 0, 0] ##
[0, 2, 1, 1, 0, 0, 0, 0, 0] ###
[0, 2, 1, 1, 1, 0, 0, 0, 0] ####
[0, 2, 1, 1, 2, 0, 0, 0, 0] ####
[0, 3, 0, 0, 0, 0, 0, 0, 0] #
[0, 3, 1, 0, 0, 0, 0, 0, 0] ##
[0, 3, 1, 0, 0, 0, 1, 0, 0] ######
[0, 3, 1, 1, 0, 0, 0, 0, 0] ###