Мини-урок · перед практикой

Большие буквы

Обрабатываем каждое слово собственной функцией capitalize.

Как к ней подойти

Потренируйтесь выделять повторяющуюся логику в функцию и находить условие остановки рекурсии.

Коротко о теме

Функция получает аргументы и возвращает результат через return. Рекурсия разбивает задачу на меньшую такую же задачу; без базового случая вызовы не остановятся. Проверьте, что каждый шаг действительно приближает к нему.

Ключевая идея · Замена первой буквы

Первая буква становится заглавной, оставшаяся часть слова сохраняется.

Проверьте перед запуском

  • Нужно определить и вызвать функцию capitalize.
  • Формула кодов рассчитана на латинские буквы.

Сравните свой подход

Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.

Ваше принятое решение

Рекомендуемое решение: Замена первой буквы

Первая буква становится заглавной, оставшаяся часть слова сохраняется.

def capitalize(word):
    return word[0].upper() + word[1:]
print(' '.join(capitalize(word) for word in input().split()))

Время: O(L), L — длина строки. Память: O(L).

Другой способ: Преобразование кода символа

Для маленьких латинских букв смещение между кодами a и A одинаково. Метод применим к алфавиту из условия.

def capitalize(word):
    first = chr(ord(word[0]) - ord('a') + ord('A'))
    return first + word[1:]
words = input().split()
for i in range(len(words)):
    words[i] = capitalize(words[i])
print(' '.join(words))

Время: O(L). Память: O(L).