Большие буквы
Вы решили задачу. Теперь можно сравнить подходы.
Обрабатываем каждое слово собственной функцией 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).
На что обратить внимание
- Нужно определить и вызвать функцию capitalize.
- Формула кодов рассчитана на латинские буквы.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.