txt='''
唐
宋
元
明
清
'''
插入文字,变成:
'''
唐
李世民
武则天
李隆基
宋
元
忽必烈
明
清
顺治
康熙
'''
以下代码亲测有效:
txt='''
唐
宋
元
明
清
'''
t = txt.replace('\n','')
emperors = {}
while True:
d = input(f'请输入朝代名({t}之一,输q退出):')
if d=='q':
break
if d not in t:
continue
e = input(f'输入{d}朝的哪位皇帝:')
emperors[e] = d
res = ['']
for i in t:
res.append(i)
for k,v in emperors.items():
if v==i:
res.append(k)
else:
res.append('')
txt = '\n'.join(res)
print(txt)
'''
#最终的字典为:
emperors={'李世民': '唐', '武则天': '唐', '李隆基': '唐', '忽必烈': '元', '顺治': '清', '康熙': '清'}
'''
txt='''
唐
宋
元
明
清
'''
def insert(a, b, txt):
_txt = txt.strip('\n').split('\n')
_txt.insert(_txt.index(a) +1, b)
return '\n' + '\n'.join(_txt) + '\n'
a = input('在哪一行后添加')
b = input('内容')
txt = insert(a, b, txt)
先split('\n'),得到一个list
然后循环,插入你要插入的内容,最后重新拼接成str
这是一般的操作步骤
偶尔也可以用字符串替换的方式把中间部分替换成你想要的内容
或者在最开始定义的时候就定义成"唐{}宋{}元{}明{}清"这种形式,然后执行format给它传参