Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Объяснение:
В коде у нас есть список text
При обращении к text[0][2]
, мы берём первый элемент списка (строку Hello
) и из этой строки выбираем символ с индексом 2
, который является l
При обращении к text[1][2]
, мы берём второй элемент списка (вложенный список чисел) и из него выбираем число с индексом 2
, которое равно 555
Таким образом, результатом выполнения кода будет l - 555
Объяснение:
Ошибка возникает, потому что range()
ожидает аргумент типа int
, но вместо этого получает строку text
Функция range()
используется для создания последовательности чисел, и не может обрабатывать строки напрямую
Объяснение:
В Python умножение списка на отрицательное число (или на ноль) возвращает пустой список
Связано это с тем, что умножение списка на число N
создаёт новый список, состоящий из N
копий исходного списка
Если N
отрицательное или равно нулю, то получается пустой список
Большинство разработчиков стремится повысить свой грейд, но сталкивается с множеством трудностей
Как и куда расти, если ты амбициозный мидл или уже синьор? Откуда брать насмотренность и опыт, если ты ограничен задачами своей компании, а одними статьями на Хабре проблему не решить?
Чтобы расти в профессии и получать крутые офферы, разработчик может прокачать навык построения архитектуры.
Курс «Архитектор ПО» от Практикума поможет развить навык решения архитектурных задач. Техлиды Яндекса и других компаний покажут противоположные архитектурные подходы. Благодаря этому разработчику не придётся учиться на своих ошибках — он научится на опыте коллег. За 6 месяцев курса он разработает и добавит в портфолио 5 архитектур.
Курс подойдёт бэкенд-разработчикам, которые:
— работают 2+ лет;
— хотят развиваться на текущей позиции и повышать свой грейд;
— хотят получить должность лида или архитектора ПО.
Ближайший поток стартует 16 октября. Посмотреть подробную программу курса и записаться можно по ссылке.
Реклама АНО ДПО «Образовательные технологии Яндекса»
Объяснение:
Метод get()
возвращает значение для указанного ключа, если он существует в словаре
Иначе возвращается значение по умолчанию, указанное во втором аргументе
Здесь как раз случай «иначе», из-за чего мы получили 'd'
Объяснение:
Оператор &
выполняет побитовое И
В двоичной системе 5
это 101
, а 3
это 011
. Побитовое И
даст 001
, что равно 1
в десятичной системе
Объяснение:
Функция type()
возвращает тип объекта. В данном случае 10 — это целое число (int
), поэтому выражение type(10) is int
вернёт True
Объяснение:
В Python списки являются изменяемыми объектами
Когда мы присваиваем lst_two = lst_one
, обе переменные указывают на один и тот же объект в памяти
Поэтому, изменяя один список (lst_one
), мы автоматически изменяем и другой (lst_two
), т.к. они ссылаются на один и тот же объект
Объяснение:
Несмотря на то, что frozenset
является неизменяемым, а set
— изменяемым, они считаются равными, если содержат одни и те же элементы
Объяснение:
В Python строки являются неизменяемыми объектами и иногда для оптимизации Python использует один и тот же объект для хранения идентичных строковых литералов
Но это не гарантировано для строк, созданных динамически или через операции, как в данном примере с конкатенацией
Оператор is
проверяет идентичность объектов, а не их эквивалентность. А так как z
и "123456"
— это разные объекты в памяти, даже если их значения одинаковы, то и ответ у нас False
Объяснение:
Функция isinstance(1 + 1j, complex)
проверяет, является ли значение 1 + 1j
экземпляром класса complex
, который представляет комплексные числа в Python
И так как 1 + 1j
действительно является комплексным числом, ответ на этот запрос будет True
Объяснение:
В Python кортежи сравниваются лексикографически: первый элемент с первым, второй с вторым и так далее
Поскольку все первые элементы равны, сравнение переходит к следующему элементу, и кортеж (1, 2, -1)
считается больше
Объяснение:
Переменная x
объявлена после того, как мы пытаемся её вывести
Python выдаст ошибку о том, что локальная переменная x
ссылается до присваивания
Объяснение:
В Python, lambda
создаёт анонимную функцию, а yield from
используется для делегирования части операций генератора другому генератору или итерируемому объекту
В данном случае, x
— это функция-генератор, которая при вызове x()
возвращает другой генератор
Этот вложенный генератор проходит через все элементы списка [1, 2, 3]
и выдаёт их по одному
В свою очередь функция list()
собирает эти значения в список, который и выводится на экран: [1, 2, 3]
Объяснение:
Блок finally
будет выполнен в любом случае, даже если перед этим был вызван return
или возникло исключение
Отюсда и z
, который станет равным 1
Объяснение:
Ответ [A]
получается из-за того, что в строке [%c]
используется форматирование строки с помощью оператора %
Здесь %c
«ожидает» символ, который соответствует числовому коду ASCII
Число 65 в таблице ASCII соответствует символу A
. Таким образом, %c
заменяется на A
, и мы получаем результат [A]
Объяснение:
В Python кортежи неизменяемы, а интерпретатор может оптимизировать память, используя один объект кортежа для обеих переменных a
и b
, так как их значения одинаковы
В результате a is b
возвращает True
, потому что a
и b
ссылаются на один и тот же объект в памяти
Объяснение:
Метод .ljust()
возвращает строку, выровненную по левому краю и дополненную указанным символом (здесь это *
) до указанной ширины (тут — 10
)
Объяснение:
Функция filter()
отбирает элементы из списка x
на основе предоставленного лямбда-выражения
В данном случае, лямбда-выражение проверяет, является ли элемент чётным числом (a % 2 == 0
)
Поэтому в результате получается список только из чётных чисел из x
, а именно [2, 4]
Объяснение:
Метод encode()
преобразует строку в байты
В итоге возвращаемый тип — это bytes
. Отсюда и ответ <class 'bytes'>
Объяснение:
Метод pop()
удаляет и возвращает последний элемент списка. В данном случае, это 3
Объяснение:
Попытка изменить неизменяемый объект tuple
приведёт к ошибке, даже если изменяемый список является его элементом
Объяснение:
Функция bin()
возвращает двоичное представление числа в виде строки, начинающейся с 0b
Срез [2:]
убирает эти первые два символа, отсюда и ответ 1010
Объяснение:
Оператор <<
сдвигает биты влево
В данном случае, 5
в двоичной системе — 101
. Сдвиг на 2 бита
влево даст 10100
, что равно 20
в десятичной системе
Объяснение:
Метод join()
вставляет строку, поданную в качестве аргумента, между каждым символом исходной строки
А теперь задачка со звездочкой. Какую IT-профессию мы загадали?
Конечно, это Python-разработчик!
Попробуйте себя в этой роли — переходите по ссылке и забирайте 3 бесплатных курса от GeekBrains. Они обучат основам программирования, помогут написать первую программу и расскажут о карьере в IT.
Всё для уверенного погружения в IT — здесь: https://tprg.ru/MHCE
Реклама ООО «ГикБреинс», ИНН 7726381870, erid: LjN8KSqMh
Объяснение:
Операция возведения в степень (**
) имеет более высокий приоритет, чем умножение (*
)
Поэтому сначала происходит 3 ** 2 = 9
, а уже затем "а" * 9.
Отсюда и ответ aaaaaaaaa ("а" 9 раз)
Давно грезите развить свой проект и вырасти в карьере? Пора действовать!
Да, сделать первый шаг к масштабному развитию может быть страшно, ведь неизвестность пугает. Но только действия и ошибки приводят к кратному росту.
Автор статьи доказывает это на собственном примере — от ошибок не застрахован никто. Но их можно свести к минимуму и в краткие сроки из хорошего айтишника превратиться в предпринимателя, благодаря онлайн-обучению и новому окружению. Но все подробности в статье: https://tprg.ru/pNub
Реклама Бексаев Николай Сергеевич ИНН 470308037337, erid: LjN8KMrL6
Объяснение:
Срез y = x[::2]
создаёт новый список, не связанный с оригинальным. А потому изменение y
не влияет на x
Объяснение:
В списке x
числа от 0
до 4
Список y
содержит квадраты этих чисел: [0, 1, 4, 9, 16]
Сумма этих квадратов равна 0 + 1 + 4 + 9 + 16 = 30