Problem Statement正則表達式
You are given a string S. Your task is to capitalize each word of S.api
Input Format函數
A single line of input containing the string, S.測試
Constraintsspa
0<len(S)<1000code
The string consists of alphanumeric characters and spaces.orm
Output Formatci
Print the capitalized string, S.input
Sample Inputstring
hello world
Sample Output
Hello World
一、首先我嘗試寫程序,個人代碼以下:
[print(str.capitalize(s), end=' ') for s in input().split()]
結果運行錯誤,由於我忽略了多個空格的影響
二、用正則表達式解決,
import re
print re.sub(r'\w+', lambda x : x.group(0).capitalize(), raw_input())
運行成功
三、官方提供的答案,真是使人意外啊!!!
print ' '.join(word.capitalize() for word in raw_input().split(' '))
經過這種方式能解決多個空格的問題,我不能明白爲什麼能這麼做,只能猜想join函數能記住split函數分出的空格。
經測試,這樣也是能夠的,以下:
a=[word.capitalize() for word in raw_input().split(' ')]
print ' '.join(a)