图书术语表



我想根据输入打印图书的标题和副标题,其中1x'#'表示标题,2x'#'表示副标题

输入:

mylist=['# algorithm','blah basfafasfsa','## Sorting','xascxas',"#数据结构","# BST"]

输出:

1.1排序

    数据结构

这是我尝试的,但无法得到所需的输出:

def index(mylist):
count=0
count1=0
for item in mylist:
if item.startswith("#"):
count+=1
print(str(count+"."+item[2:]))
elif item.startswith("##"):
count1+=1
print(str(count+"."+count1+"."+item[2:]))

您需要交换您的条件,因为startswith("#")对于字符串#abc##abc总是为真,此外,当您遇到新主题时,重新初始化子主题计数器。下面的代码是:

def index(mylist):
count = 0
count1 = 0
for item in mylist:
if item.startswith("##"):
count1 += 1
print(f"{count}.{count1}{item[2:]}")
elif item.startswith("#"):
count += 1
count1 = 0
print(f"{count}.{item[2:]}")
mylist=['# algorithm', 'blah basfafasfsa', '## Sorting', 'xascxas', "# Data structrues", "## Trees", "# BST"]

输出:

1. algorithm
1.1 Sorting
2. Data structrues
2.1 Trees
3. BST

我尝试了这个使用格式,我刚刚开始编码,如果我错了请纠正我。

def index(mylist):
count=0
count1=0
for item in mylist:
if item.startswith("#")and "##" not in item:
count+=1
print("{count}.{item}".format(count=count,item=item[2:]))
elif item.startswith("#") and "##" in item:
count1+=1
print("{count}.{count1}.{item}".format(count=count,count1=count1,item=item[2:]))

最新更新