# 将流行歌曲编号,空格为{}符号
str ='''
流行歌曲歌词批判导论
- 如果我变成回忆
不想死问题 没人记得问题 自己变得不重要问题
- 给我一首歌的时间
给予问题 AB互动问题 时间与环境、处境与局限 规划问题
- 不能在爱了
组合系统 可以再爱了的问题 心灵与选择
'''
# print
'''
流行歌曲批判导论
1.如果我变成回忆
{不想死问题}{没人记得问题}{自己变得不重要问题}
2.给我一首歌的时间
{给予问题}{AB互动问题}{时间与环境,局限}{规划问题}
3.不能在爱了
{组合系统}{可以再爱了的问题}{心灵与选择}
'''
str是内置函数名,不要用它作变量名,用str1比较好:
>>> str1 ='''
流行歌曲歌词批判导论
- 如果我变成回忆
不想死问题 没人记得问题 自己变得不重要问题
- 给我一首歌的时间
给予问题 AB互动问题 时间与环境、处境与局限 规划问题
- 不能在爱了
组合系统 可以再爱了的问题 心灵与选择
'''
>>> lst = str1.splitlines()
>>> for i,txt in enumerate(lst[1:],1):
if '- ' in txt:
lst[i]=lst[i].replace('- ','\n'+str(i//2)+'.')
else:
if i>1:lst[i]='{'+lst[i].replace(' ','}{')+'}'
>>> print('\n'.join(lst))
流行歌曲歌词批判导论
1.如果我变成回忆
{不想死问题}{没人记得问题}{自己变得不重要问题}
2.给我一首歌的时间
{给予问题}{AB互动问题}{时间与环境、处境与局限}{规划问题}
3.不能在爱了
{组合系统}{可以再爱了的问题}{心灵与选择}
1、使用split(‘\n’)拆分。
2、对不同的行采取不同转化策略。
3、注意原始str最好重命名,str是python 内置名称。
list_s = str_old.split('\n')
count = 1
for s in list_s:
if s == "":
print(s)
elif s[0] == '-':
print(f"{count}.{s[2:]}")
count += 1
elif s.find(' ') == -1:
print(s)
else:
temp = s.split(' ')
temp_str = ""
for i in temp:
temp_str += "{" + i + "}"
print(f"{temp_str}")