Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Объяснение:
Срез берёт элементы с индексами от 1
и до -1
(не включительно). Шаг среза равен 2
, что пропускает каждый второй элемент
Индекс -1
является индексом последнего элемента последовательности. Другими словами, здесь это 3
Объяснение:
Оператор and
имеет более высокий приоритет, чем or
Поэтому сначала выполняется операция y and z
, что даёт False
, а затем x or False
, что даёт True
Таким образом, выводится "yes"
Объяснение:
Здесь используется генератор для создания последовательности чисел от 0
до 4
Затем функция sum()
суммирует эти числа и получается 10
Объяснение:
Как только выполняется оператор return
, функция завершается и возвращается на уровень вызова
В данном случае первый оператор return
не имеет значения, поэтому функция возвращает стандартное для таких случаев значение — None
Объяснение:
Здесь мы создаём новый список, включающий все элементы из списка a
, которые также присутствуют в списке b
Поскольку все элементы списка a
есть в списке b
, c
будет равен [1, 2, 3, 4, 5]
Ребят, ищем пишущего IT-редактора блогов в Tproger
Условия: удалёнка, фултайм
Что делать:
— искать темы, которые понравятся клиентам и заинтересуют читателей;
— вникать в эти темы настолько, чтобы говорить с экспертами примерно на одном языке;
— проводить интервью и собирать фактуру;
— превращать фактуру в статью, которую захочется читать и репостить;
— дорабатывать статью вместе с экспертами и менеджерами клиента.
Требования:
— пишете логично и ёмко, видите стилистические и речевые ошибки в тексте;
— быстро находите и проверяете информацию (в том числе в англоязычных источниках);
— любите общаться с экспертами и умеете их разговорить;
— спокойно реагируете на комментарии, но можете отстоять свою позицию, если правка неуместна;
— тактично вносите правки, чтобы автор не расстраивался, а был благодарен за помощь;
— знаете, что такое ключевое слово, мета-описание и зачем нужен Wordstat.
Чтобы откликнуться, заполняйте анкету.
#вакансии #работа
Объяснение:
Хоть функция func()
и возвращает значение, но это значение не выводится на экран, так как нет команды print()
. Вернувшееся значение просто игнорируется
Объяснение:
Изменения lst_two
не влияют на lst_one
, т.к. lst_two
является копией части списка lst_one
Поэтому результат выполнения кода — [1, 2, 3, 4, 5]
Объяснение:
Операция +=
состоит из двух действий: добавить и задать
Первое проходит без каких-либо проблем, в то время как второе вызывает ошибку, так как мы не можем менять значения кортежей
Объяснение:
В Python словари не могут содержать повторяющихся ключей. Когда мы определяем словарь с повторяющимися ключами, последнее вхождение пары ключ-значение перезапишет все предыдущие
В данном случае, пара "language": "Golang"
перезаписывается парой "language": "Python"
. Поэтому значение, связанное с ключом "language"
, становится "Python"
Отсюда и наш ответ
Объяснение:
В Python маленькие целые числа (обычно в диапазоне от -5
до 256
) кэшируются и повторно используются
Это значит, что они сохраняются в памяти, и каждый раз, когда вы создаёте целое число в этом диапазоне, Python указывает на одно и то же местоположение в памяти, вместо того чтобы создавать новый объект
И если с pow(1, 2)
это срабатывает, т.к. результат 1
, то в случае с pow(10, 20)
уже нет — результат выполнения этой функции равняется 1e+20
, т.е. сильно больше 256
Объяснение:
Ошибка будет возникать на этапе выполнения кода
Всё потому что оператор +=
не поддерживается для множеств (set
) в Python. Если попытаться выполнить данный код, то вылетит ошибка TypeError
Вместо этого, для объединения множеств, можно использовать метод union()
или оператор объединения |
Объяснение:
Результат выполнения кода выше вызывает предупреждение SyntaxWarning
, поскольку утверждение (assertion
) всегда истинно
Ошибка заключается в использовании скобок. Правильное написание assert
выглядит так:assert num == 25, "Error"
Объяснение:
Во всём виновата пустой print()
внутри другого print()
. Полное объяснение можно найти по ссылке
Объяснение:*a, b = [1, 2, 3]
означает, что последний элемент списка присваивается b
, а первые два уходят в *a
При вызове func(*a)
, переменная a
будет распакована в отдельные аргументы функции, таким образом она будет вызвана как func(1, 2)
Внутри функции print(*var)
принимает переменное количество аргументов и выводит их значения, разделённые пробелом. Т.е 1 2
Объяснение:
В Python мы вполне легально можем передавать аргументы по их имени
Поэтому в этом коде a
становится равным 1
, b
- 3
, а c
- 2
. Сумма этих чисел равна 6
Объяснение:
Давайте по порядку:
- сначала мы обращаемся к элементу по индексу 1
в списке lst
— это список [3.141, 20, [30, 'baz', 2.718]]
;
- затем обращаемся к элементу по индексу 2
внутри этого вложенного списка и... он также является списком — [30, 'baz', 2.718]
;
- по итогу мы обращаемся к элементу внутри этого вложенного списка и получаем строку 'baz'
Объяснение:
Функция рекурсивно вызывает себя, уменьшая аргумент на 1
, и добавляет результат к списку, содержащему текущее значение x
Это продолжается, пока x
не станет равным нулю. Финальный список будет содержать числа от 1
до 5
, т.е. его длина равна 5
Объяснение:
Значения по умолчанию в функциях Python вычисляются только один раз
Однако в данном случае, для аргумента l
мы используем None
как значение по умолчанию, а затем инициализируем новый список внутри функции, если l
равен None
По итогу каждый вызов func()
без указания второго аргумента приводит к созданию нового списка
Объяснение:
В Python строки являются неизменяемыми объектами. Поэтому, когда мы изменяем y
, это не влияет на x
Объяснение:
При вызове outter()
, функция создаёт локальную переменную var
со значением 1
, затем вызывает inner()
Внутри функции inner()
, с помощью nonlocal
, указывается, что нужно изменить значение переменной var
во внешней функции outter()
Таким образом, var
в outter()
становится равным 2
. А после завершения inner()
, функция outter()
выводит значение var
, которое теперь равно 2
Затем, за пределами outter()
, глобальная переменная var
, которая осталась неизменной, выводится — она всё ещё равна 0
Объяснение:
В Python значения по умолчанию для аргументов функций вычисляются только один раз при определении функции, а не при каждом её вызове
Таким образом, при первом вызове func(2)
, l
становится [0, 1]
. Затем, при вызове func(3, [1, 2, 3])
, l
не изменяется, так как в качестве аргумента передается новый список
Наконец, при вызове func(3)
, изменяется исходный список l
, который теперь равен [0, 1, 0, 1, 4]
Объяснение:
В цикле происходит итерация по числам от 0
до 9
:
— если число i
чётное (т.е., i % 2 == 0
), то оно вычитается из переменной num
— если число i
нечётное, то оно прибавляется к переменной num
В итоге на последнем шаге у нас получается i = 9
(нечётное число), а потому num = -4 + 9 = 5
Объяснение:
Код вызывает исключение типа TypeError
, но обработка этого исключения не происходит в блоках except
, т.к. оно уже перехвачено в блоке except Exception
Поскольку исключение не обрабатывается полностью, программа завершается с сообщением об ошибке TypeError
, но без дополнительной информации о месте, где оно было вызвано
Объяснение:
Разберём код пошагово:a, b = (b, a)
создаёт кортеж (-5, 5)
Затем мы сразу же разворачиваем его, используя [::-1]
, после чего кортеж равняется (5, -5)
Его элементы мы и выводим по порядку через print()
, преобразовав в строку каждый
Объяснение:
Код выше пытается закодировать строку "Ща что-то будет"
с помощью кодировки ASCII
Но данная кодировка поддерживает лишь символы в диапазоне от 0
до 127
и не может представить кириллические символы
Отсюда и ошибка
Объяснение: lst[:]
— это срез всего списка lst
. И когда мы присваиваем ему это пустой кортеж (tuple
), он очищается
Отсюда и ответ — пустой список
Яндекс Практикум готовит курс по Python для школьников 13-17 лет и приглашает энергичных наставников, готовых выделить 2-3 часа в день для будущего IT-поколения.
Задачи:
— проводить вебинары, отвечать на вопросы в чатах;
— давать обратную связь по практическим заданиям;
— помогать, поддерживать, объяснять, мотивировать.
Вознаграждение и бонусы:
— 35 000 рублей в месяц за группу до 50 студентов;
— бесплатное обучение в Школе наставников;
— прокачка лидерских и soft skills, нетворкинг.
Идеальный кандидат: студент или выпускник технического вуза/направления с опытом работы от полугода (подойдут фриланс, pet-проекты) и желанием обучать подростков.
Необходимые навыки: разрабатывать сайты/приложения/нейросети на Python и создавать ботов для Telegram.
Узнать детали и откликнуться на вакансию наставника по Python-разработке.
Реклама АНО ДПО "Образовательные технологии Яндекса"
Объяснение:
Использование запятой без значений внутри круглых скобок var = (,)
не является допустимым синтаксисом в Python
Как минимум, внутри этих скобок должно быть указано хотя бы одно значение, иначе возникает синтаксическая ошибка
Так, если нужно создать кортеж с одним элементом, можно добавить запятую после значения. Например, var = (0,)
Объяснение:
В Python все числовые значения, которые не 0
, это True
. В том числе и -1