You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从给定字符串生成点分隔的首字母缩写?解决Python代码输出末尾多余点的问题

解决首字母缩写末尾多余点的问题

你的问题出在循环里给每个单词的首字母都追加了一个点,包括最后一个单词,所以最终输出会多一个末尾的点。这里有几种简洁的修复方法:

方法1:用join(最Pythonic的方式)

直接提取每个单词的首字母并转大写,然后用点作为分隔符连接起来——join只会在元素之间添加分隔符,完美避免末尾多余的点:

string = input()
acronym = '.'.join(word[0].upper() for word in string.split())
print(acronym)

这里用了生成器表达式(去掉列表推导式的方括号),比列表更节省内存,效果和列表推导式一致。

方法2:修改原有循环逻辑

如果你想保留原来的循环写法,可以通过判断是否是最后一个单词来决定是否加点:

string = input()
str_list = string.split()
acronym = ""
for index, word in enumerate(str_list):
    acronym += word[0].upper()
    # 只有当不是最后一个单词时,才添加点
    if index != len(str_list) - 1:
        acronym += "."
print(acronym)

方法3:先收集所有首字母再拼接

先把所有首字母存到列表里,最后再用点连接,逻辑清晰易懂:

string = input()
str_list = string.split()
acronym_chars = []
for word in str_list:
    acronym_chars.append(word[0].upper())
acronym = '.'.join(acronym_chars)
print(acronym)

测试输入"Very Important Person",这三种方法都会输出V.I.P,完全符合你的预期。

内容的提问来源于stack exchange,提问作者Vishnu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 14:27:27