Python中单词首字母大写后恢复空格的实现问题
解决首字母大写后字符串丢失空格的问题
你的代码核心问题是拼接处理后的单词时,没有在单词之间添加空格,导致最终输出的字符串是连在一起的。这里提供几种修复方案:
方案一:修改循环拼接逻辑
在每次拼接处理后的单词时,额外添加一个空格,最后用strip()去掉末尾多余的空格:
message = input('Write a short message.') new_message = message.split() glue = "" for item in new_message: glue += item[0].upper() + item[1:] + " " print(glue.strip())
方案二:使用列表推导式+join方法(更简洁)
先把每个单词处理成首字母大写的形式存入列表,再用" ".join()方法将列表元素用空格拼接成字符串,这种方法不需要处理末尾空格:
message = input('Write a short message.') processed_words = [word[0].upper() + word[1:] for word in message.split()] print(" ".join(processed_words))
额外提示:利用内置方法简化代码
如果你的需求是每个单词首字母大写,其余字母转为小写,可以直接使用Python字符串的title()方法,一步到位:
message = input('Write a short message.') print(message.title())
注意:title()会将单词中除首字母外的其他字母转为小写,如果你需要保留原单词中其他字母的大小写,建议使用前两种方案。
内容的提问来源于stack exchange,提问作者kman12
相关产品推荐
相关产品推荐

