Попытка использовать заглавную строку, но не работает.Какие-нибудь мысли? - PullRequest
0 голосов
/ 20 декабря 2018
text = '''felt happy because I saw the others were happy 
 and because I knew I should feel happy, 
 but I wasn’t really happy.'''

print(text.capitalize())

Только первое слово становится заглавным.

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Из официальной документации о capitalize():

Возвращать копию строки с первым заглавным буквой, а остальные строчными.

Метод, который вы ищете, это title(), который будет использовать каждое слово с заглавной буквы.Вот описание из документации :

Возвращает основанную на заголовке версию строки, где слова начинаются с заглавной буквы, а оставшиеся символы строчными.

Вот результат:

>>> text = '''felt happy because I saw the others were happy and because I knew I should feel happy, but I wasn’t really happy.'''
>>> print(text.title())

'Felt Happy Because I Saw The Others Were Happy And Because I Knew I Should Feel Happy, But I Wasn’T Really Happy.'
0 голосов
/ 20 декабря 2018

str.capitalize задокументировано , чтобы использовать только заглавные буквы первого символа всей строки, а остальные строчные:

str.capitalize ()

Возвращает копию строки с заглавными буквами первого символа, а остальные строчными.

Если вы хотите использовать заглавные буквы первой буквы каждого слова (остальное в нижнем регистре), использовать .title();если вы хотите, чтобы каждый символ был прописным, используйте .upper().

...