我想根据输入打印图书的标题和副标题,其中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:]))