Конвертация текста в заглавные буквы

Возникнет TypeError при первой попытке txt[i] = ...: строки Python неизменяемы. До print выполнение не дойдёт. Для получения 'PYTHON' нужно создать новую строку через txt.upper().

Короткий ответ

Что ответить на собеседовании

Возникнет TypeError при первой попытке txt[i] = ...: строки Python неизменяемы. До print выполнение не дойдёт. Для получения 'PYTHON' нужно создать новую строку через txt.upper().

Подробный разбор

Ответ с пояснениями

Условие

В данном фрагменте кода строка 'python' преобразуется в верхний регистр. Какой результат будет напечатан? Варианты ответа:

  • Python
  • python
  • PYTHON
  • ошибка
txt = 'python'
for i in range(len(txt)):
    txt[i] = txt[i].upper()
print(txt)

Ответ

Возникнет TypeError при первой попытке txt[i] = ...: строки Python неизменяемы. До print выполнение не дойдёт. Для получения 'PYTHON' нужно создать новую строку через txt.upper().

Корректный вариант:

txt = 'python'
txt = txt.upper()
print(txt)  # PYTHON

upper не меняет исходный строковый объект, а возвращает результат преобразования. Присваивание связывает имя txt с новым значением. Если нужен посимвольный обход с последующим объединением, можно использовать ''.join(...), но для изменения регистра всей строки это лишняя работа.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее