Чтобы решить эту задачу, мы напишем программу, которая будет исправлять текст с помощью обработки строк. Поскольку недопустимо использовать метод split, мы будем обрабатывать текст непосредственно, обходя его посимвольно.
Шаги решения:
Инициализация переменных: Нам понадобится строка для хранения исправленного текста и флаг, управляющий тем, нужно ли делать следующую букву заглавной.
Обход строки: Мы будем проходить по каждому символу входного текста. Если мы окажемся на начале нового предложения (после точки и пробела), мы сделаем следующий символ заглавным.
Формирование результата: Мы будем добавлять символы к нашему результату, изменяя их регистр по мере необходимости.
Вот пример программы на Python, которая выполняет описанные выше действия:
def capitalize_first_letters(text):
result = ""
capitalize_next = True # Флаг для отслеживания, нужно ли делать букву заглавной
for char in text:
if capitalize_next and char.isalpha(): # Если нужно капитализировать и это буква
result += char.upper() # Делаем букву заглавной
capitalize_next = False # После заглавной буквы сбрасываем флаг
else:
result += char # Если не нужно, просто добавляем символ
if char == '.': # Если встретили точку
capitalize_next = True # Следующий символ после пробела должен быть заглавным
return result
# Пример использования:
vasya_text = "это первое предложение. это второе предложение. это третье."
fixed_text = capitalize_first_letters(vasya_text)
print(fixed_text)
Пояснение к коду:
- Мы создаем переменную
result, где будем собирать исправленный текст. - Переменная
capitalize_nextинициализируется какTrue, чтобы заглавная буква была в начале первого предложения. - Используя цикл
for, мы проходим по каждому символу в строкеtext. - Если
capitalize_nextустановлен вTrueи текущий символ — буква (проверяем с помощьюchar.isalpha()), мы меняем его на заглавную и сбрасываем флаг. - В остальных случаях просто добавляем символ в результат.
- Если встречаем точку
.(конец предложения), мы устанавливаемcapitalize_nextвTrue, чтобы следующее слово в новом предложении было микрографическим.
Этот метод позволяет нам обойти текст, не используя split, и корректно обрабатывать каждую первую букву предложения.