CCF Python問題解(100点)201703-3 Markdown
8948 ワード
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('
'))