用于打印每个单词的首字母和尾字母的代码

时间:2019-12-19 17:46:57

标签: python python-3.x

我正在编写一个代码,该代码从外部文件中获取歌曲名称和艺术家,并打印歌曲名称中每个单词的第一个字母,然后打印艺术家的名称。我已经完成了代码的这一部分,现在我尝试创建代码的一部分,当用户第一次尝试对歌曲名称的猜测有误时,我的程序将打印出每个单词的最后一个字母标题。我想出的代码可以很好地打印在下面,除非其中一个单词长一个字母,因为它会将第一个和最后一个字母都打印两次,所以效果很好。

这是我所使用的代码,除了一个字母单词外,它适用于所有内容:

print(' '.join(x[0] + '_' * (len(x) - 2) + x[-1] for x in song_title.split()))

例如:

input = Axel F
output = A__l FF
desired output = A__l F

如果有人可以给我一些有关如何实现这一目标的建议,将不胜感激

1 个答案:

答案 0 :(得分:3)

您可以先验证单词的长度:

print(' '.join(x[0] + '_' * (len(x) - 2) + (x[-1] if len(x) > 1 else '') for x in song_title.split()))