Допустим, у меня есть строка:
stroka = input()
Вводные данные:
qwertyu iopasd fghjklz xcvbnm
Как сделать так, чтобы на выходе все слова были с заглавной буквы?
Qwertyu Iopasd Fghjklz Xcvbnm
Не какое-то одно слово после какой-нибудь точки, а все слова в строке.
- python
- python-3.x
Nick Volynkin♦
33.2k24 золотых знака125 серебряных знаков214 бронзовых знаков
задан 31 авг 2017 в 11:12
andreymalandreymal
12.5k9 золотых знаков36 серебряных знаков73 бронзовых знака
7
-
@Grundy вопрос похож, но там только после точки, а здесь нужно каждое слово
31 авг 2017 в 11:26
-
В чем принципиальное отличие?
31 авг 2017 в 11:27
-
@Grundy если напишете там универсальный ответ, который позволит делать верхний регистр не только после точки, но и после пробела, после переноса строки, табуляции, других пробельных символов, многоточия и любых других символов на усмотрение пользователя — я соглашусь с дубликатом.
31 авг 2017 в 11:31
-
@andreymal, если цель добавить «каноничные» ответы на типовые вопросы по python, то думаю имеет смысл использовать метку python-faq.
31 авг 2017 в 12:00
1 ответ
Используйте метод title
:
s = 'qwertyu iopasd fghjklz xcvbnm'
print(s.title())
Результат:
Qwertyu Iopasd Fghjklz Xcvbnm
ответ дан 31 авг 2017 в 11:12
andreymalandreymal
12.5k9 золотых знаков36 серебряных знаков73 бронзовых знака
9
-
Почему ответ минуснули?
31 авг 2017 в 11:41
-
@Alban наверное, потому что элементарные само воросы/ответы — это не лучший способ наполнения базы знаний ruSO.
31 авг 2017 в 12:47
-
@alexolut чем это принципиально отличается от этого? Автор вопроса/ответа с каких-то пор стал иметь решающее значение?
31 авг 2017 в 12:49
-
Я не минусовал, если хотите знать, но и не поощряю подобных ситуаций. Если вопрос задал новичок, то вполне неплохо дать ему ответ, который его устроит, а не слать его в гугл. Но если Вы даёте самоответ — хорошо бы при этом иметь не чрезмерно тривиальную ситуацию, которая решается одной единственной функцией. А показать, что была произведена какая-то более сложная работа. И тогда она с большей вероятность будет вознаграждена голосами.
31 авг 2017 в 13:12
-
@alexolut: голоса на ответе должны отражать только насколько хорошо ответ решает поставленную в вопросе задачу в целом и относительно других ответов в частности. Не имеет значения, кто автор вопроса/ответа. Не имеет значения насколько простая тема по вашему. Если вы считаете, что подобный вопрос неуместен на Stack Overflow голосуйте за закрытие вопроса, минусы на ответы неправильно в таком случае ставить. (я не вижу кстати минуса на ответе). Кстати, не-ascii случай может быть нетривиальным (в зависимости от версии Unicode, используемой вашей версией Питона)
15 сен 2017 в 14:17
Допустим, у меня есть строка:
stroka = input()
Вводные данные:
qwertyu iopasd fghjklz xcvbnm
Как сделать так, чтобы на выходе все слова были с заглавной буквы?
Qwertyu Iopasd Fghjklz Xcvbnm
Не какое-то одно слово после какой-нибудь точки, а все слова в строке.
- python
- python-3.x
Nick Volynkin♦
33.2k24 золотых знака125 серебряных знаков214 бронзовых знаков
задан 31 авг 2017 в 11:12
andreymalandreymal
12.5k9 золотых знаков36 серебряных знаков73 бронзовых знака
7
-
@Grundy вопрос похож, но там только после точки, а здесь нужно каждое слово
31 авг 2017 в 11:26
-
В чем принципиальное отличие?
31 авг 2017 в 11:27
-
@Grundy если напишете там универсальный ответ, который позволит делать верхний регистр не только после точки, но и после пробела, после переноса строки, табуляции, других пробельных символов, многоточия и любых других символов на усмотрение пользователя — я соглашусь с дубликатом.
31 авг 2017 в 11:31
-
@andreymal, если цель добавить «каноничные» ответы на типовые вопросы по python, то думаю имеет смысл использовать метку python-faq.
31 авг 2017 в 12:00
1 ответ
Используйте метод title
:
s = 'qwertyu iopasd fghjklz xcvbnm'
print(s.title())
Результат:
Qwertyu Iopasd Fghjklz Xcvbnm
ответ дан 31 авг 2017 в 11:12
andreymalandreymal
12.5k9 золотых знаков36 серебряных знаков73 бронзовых знака
9
-
Почему ответ минуснули?
31 авг 2017 в 11:41
-
@Alban наверное, потому что элементарные само воросы/ответы — это не лучший способ наполнения базы знаний ruSO.
31 авг 2017 в 12:47
-
@alexolut чем это принципиально отличается от этого? Автор вопроса/ответа с каких-то пор стал иметь решающее значение?
31 авг 2017 в 12:49
-
Я не минусовал, если хотите знать, но и не поощряю подобных ситуаций. Если вопрос задал новичок, то вполне неплохо дать ему ответ, который его устроит, а не слать его в гугл. Но если Вы даёте самоответ — хорошо бы при этом иметь не чрезмерно тривиальную ситуацию, которая решается одной единственной функцией. А показать, что была произведена какая-то более сложная работа. И тогда она с большей вероятность будет вознаграждена голосами.
31 авг 2017 в 13:12
-
@alexolut: голоса на ответе должны отражать только насколько хорошо ответ решает поставленную в вопросе задачу в целом и относительно других ответов в частности. Не имеет значения, кто автор вопроса/ответа. Не имеет значения насколько простая тема по вашему. Если вы считаете, что подобный вопрос неуместен на Stack Overflow голосуйте за закрытие вопроса, минусы на ответы неправильно в таком случае ставить. (я не вижу кстати минуса на ответе). Кстати, не-ascii случай может быть нетривиальным (в зависимости от версии Unicode, используемой вашей версией Питона)
15 сен 2017 в 14:17
Перейти к содержанию
На чтение 2 мин Просмотров 335 Опубликовано 26.12.2022
Содержание
- Введение
- Метод title()
- Метод capwords()
- Использование генератора
- Делаем первую букву предложения заглавной
- Заключение
Введение
В статье разберём три способа сделать первые буквы предложения заглавными в Python. Так же в качестве бонуса научимся делать заглавной только первую букву в предложении.
Метод title()
В Python есть метод под названием title(). С его помощью можно сделать первые буквы всех слов в предложении заглавными:
print("делаем первые буквы заглавными в python".title())
# Вывод: Делаем Первые Буквы Заглавными В Python
Метод capwords()
В стандартной библиотеке Python есть модуль под названием string. В нём есть метод под названием capwords(), благодаря которому можно сделать первые буквы всех слов в предложении заглавными:
import string
print(string.capwords("делаем первые буквы заглавными в python"))
# Вывод: Делаем Первые Буквы Заглавными В Python
Использование генератора
Если же нужно решить данную задачу без использования сторонних методов, то можно воспользоваться данным способом. Для начала создадим переменную с текстом:
text = 'делаем первые буквы заглавными в python'
Используем метод join(), в качестве разделителя будет пробел. В скобках методом split() сделаем слова в предложении отдельными элементами списка, приводя каждую первую букву слова к верхнему регистру:
text = 'делаем первые буквы заглавными в python'
text = ' '.join(word[0].upper() + word[1:] for word in text.split())
Осталось вывести итоговый результат:
text = 'делаем первые буквы заглавными в python'
text = ' '.join(word[0].upper() + word[1:] for word in text.split())
print(text)
# Вывод: Делаем Первые Буквы Заглавными В Python
Делаем первую букву предложения заглавной
В качестве бонуса рассмотрим как сделать самую первую букву в предложении заглавной. Для этого можно использовать метод capitalize():
text = 'делаем первую букву предложения заглавной в python'
print(text.capitalize())
# Вывод: Делаем первую букву предложения заглавной в python
Заключение
В ходе статьи мы с Вами рассмотрели целых три способа сделать первые буквы заглавными в Python, а также научились делать заглавной только первую букву предложения. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂