CCF Python题解(100分)201703-3 Markdown

CCF Python题解(100分)201703-3 Markdown

import re

raw = ""

while True:
    try:
        inputStr = input()
        Str1 = re.sub("_(.*?)_", "\g<1>", inputStr)  # re
        Str2 = re.sub("\[(.*?)\]\((.*?)\)", '\g<1>', Str1)

        raw += Str2 + '\n'
    except:
        break
list1 = raw.split('\n')
new = ""
listflag = False
graphflag = False
for index in range(len(list1)):
    i = list1[index]
    list2 = i.split(' ', 1)
    if list2[0]:  # 不为空
        if list2[0] == '*':  # 无序列表
            if listflag == False:
                new += "
    \n" listflag = True new += "
  • " + list2[1] + "
  • \n"
    if not list1[index + 1].startswith('*'): new += "
\n"
listflag = False elif list2[0].count('#'): # 含# 标题 number = len(list2[0]) new += "{}".format(str(number), list2[1], str(number)) + '\n' else: # 段落 if graphflag == False: new += "

" graphflag = True new += i if list1[index + 1].startswith('*') or list1[index + 1].startswith('#') or len(list1[index + 1]) == 0: new += "

"
graphflag = False new += "\n" print(new.strip('\n'))

你可能感兴趣的:(CCF历年题解(Python))