我正在試着寫一些東西來把一個句子中的每個單詞都大寫。它工作正常,如下:(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()'。 –