我正在试着写一些东西来把一个句子中的每个单词都大写。它工作正常,如下:(Python)中的单词大写?
print " ".join((word.capitalize() for word in raw_input().strip().split(" ")))
如果输入的是“世界你好”,输出将是:
Hello World
但我试过不同的写,如下所示:
s = raw_input().strip().split(' ')
for word in s:
word.capitalize()
print ' '.join(s)
其输出将是错误的:
hello world
那又怎么了,为什么结果不一样呢!!谢谢。
在您的第二个程序中,您将s的单词拷贝大写。不是s本身的话。 – SvbZ3r0
字符串是不可变的,所以字符串方法不能修改原始字符串,它们总是返回一个新的字符串。你的第二个代码片段没有保存那个新的字符串。顺便说一句,有一种更简单的方式来利用字符串中的每个单词:使用'str.title'方法,例如''hello world'.title()'。 –