python - 打印每个单词的第一个和最后一个字母的代码

标签 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

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

最佳答案

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

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

关于python - 打印每个单词的第一个和最后一个字母的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59414595/

相关文章:

Python if/elif 条件

python joblib.Parallel 与 Parallel-Python : parallelise over multiple cores of a single CPU?

python - slqlalchemy UniqueConstraint VS 索引(唯一=真)

python - 这是什么编码以及如何在 Python 中解码它?

python-3.x - 使用 Selenium 的 headless Chrome - 401 未经授权的访问

python - 在 Cloud Build 管道中运行 python 测试的最佳做法是什么?

Python 仅重单词和数字

python - 使用索引的 Numpy 数组索引

python - 如何查看dict.__getitem__()方法的源码

python - 马尔可夫分析、格式化