Попытка использовать заглавную строку, но не работает. Какие-нибудь мысли?

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 ответа

Решение

Из официальной документации о 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.'

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

str.capitalize ()

Вернуть копию строки с первым символом в верхнем регистре, а остальные в нижнем регистре.

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

Другие вопросы по тегам