пример функции на Python, которая реализует требуемый алгоритм:
def capitalize(s):
# Разбиваем строку на список слов
words = s.split()
# Обрабатываем первое слово
if words:
words[0] = words[0].capitalize()
# Обрабатываем остальные слова
for i in range(1, len(words)):
# Если перед словом есть точка, восклицательный или вопросительный знак,
# то делаем заглавной первую букву слова, не считая пробелы
if words[i-1][-1] in '.!?':
words = words.capitalize()
# Соединяем слова обратно в строку
return ' '.join(words)
Пример использования:
s = 'привет, мир! как дела?'
print(capitalize(s))
Вывод:
def capitalize(s):
result = ""
capitalize_next = True
for i in range(len(s)):
if s == " ":
result += " "
capitalize_next = True
elif capitalize_next:
result += s.upper()
capitalize_next = False
else:
result += s
def capitalize(s):
# Разделяем строку на список слов, используя пробелы как разделители
words = s.split()
# Обрабатываем первое слово отдельно
if len(words) > 0:
# Делаем первую букву заглавной
words[0] = words[0][0].upper() + words[0][1:]
# Обрабатываем остальные слова
for i in range(1, len(words)):
# Если предыдущее слово заканчивается на точку, восклицательный или вопросительный знак,
# делаем первую букву текущего слова заглавной
if words[i-1][-1] in ".!?":
words = words[0].upper() + words[1:]
# Склеиваем слова обратно в строку и возвращаем её
return " ".join(words)
Например, вызов capitalize("hello, world! this is a test." вернёт строку "Hello, world! This is a test.".