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 + '
'
except: break list1 = raw.split('
'
) 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 += "

    "
listflag = True new += "
  • "
  • + list2[1] + "
    "
    if not list1[index + 1].startswith('*'): new += "
    "
    listflag = False elif list2[0].count('#'): # # number = len(list2[0]) new += "{}".format(str(number), list2[1], str(number)) + '
    '
    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 += "
    "
    print(new.strip('
    '
    ))