Python: задачки и вопросы
7.74K subscribers
1.19K photos
1 video
1 file
91 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
Anonymous Quiz
3%
var_one, var_two
33%
Error
3%
12
1%
13
60%
(12, 13)
Объяснение:

В Python можно указать несколько присваиваний в одной строке кода:
var_one, var_two = 12, 13

Но в нашем случае код немного другой. Здесь используется упаковка кортежа. В строке:
var = var_one, var_two = 12, 13

происходит следующее: наружная часть var = ... присваивает переменной var кортеж (12, 13), который формируется из значений, присвоенных переменным var_one и var_two.
Каким будет результат выполнения кода выше?
Anonymous Quiz
10%
{5, 6, 3, 4, 5}
33%
TypeError: unhashable type: 'list'
52%
{3, 4, 5, 6}
6%
{3, 4, 5, 5, 6}
Объяснение:

Метод update() обновляет текущий набор, добавляя элементы из другого набора (или любого другого итерируемого объекта и наш список подходит по этому критерию).

Если элемент присутствует в обоих наборах, то в обновленном наборе будет присутствовать только одно появление этого элемента. Так и выходит, что получаем — {3, 4, 5, 6}
Выберите правильное объявление функции, fun1() чтобы мы могли успешно выполнить вызовы функции, указанные выше
Anonymous Quiz
20%
def fun1(**kwargs)
4%
в Python это невозможно
27%
def fun1(args*)
49%
def fun1(*data)
Объяснение:

Чтобы принимать несколько значений или когда количество аргументов заранее неизвестно, мы можем добавить * перед именем параметра, чтобы функция могла обрабатывать произвольное количество аргументов. Это значит, что мы можем создать функции, которые принимают переменное число позиционных аргументов с использованием *args (звездочка перед именем параметра).

Пример:


def fun1(*data):
for i in data:
print(i)
print("Done!")
fun1(25, 75, 55)
fun1(10, 20)
Какой метод возвращает значение строки в верхнем регистре?
Anonymous Quiz
9%
capital()
1%
caps()
16%
uppercase()
74%
upper()
Объяснение:

Метод .upper() является стандартным методом в языке программирования Python, который используется для преобразования всех символов строки в верхний регистр (большие буквы). Важно отметить, что метод upper() не изменяет исходную строку. Вместо этого он возвращает новую строку, где все символы исходной строки приведены в верхний регистр.
Объяснение:

Срез списка в Python автоматически корректируется, даже если указанные индексы выхода за пределы фактической длины списка. В результате выполнения кода список полностью очищается, и операцию выводится пустой список [].

В Python отрицательные индексы отсчитываются от конца списка, однако -100 намного меньше фактического начала списка, в результате этого -100 будет трактоваться как начало списка. Индекс 10000 также выходит за пределы диапазона списка, поэтому он будет трактоваться как конец списка.
Каким будет результат выполнения кода выше?
Anonymous Quiz
51%
10
12%
NameError: name ‘e’ is not defined
30%
ZeroDivisionError
8%
Ничего из вышеперечисленного
Объяснение:

Лучше всего посмотреть код еще раз, чтобы понять, что здесь происходит.

В первой строке кода переменной e присваивается число десять. Затем в 5-й строке кода находится
строка обработки исключений. Эта строка кода переназначает переменную e объекту ZeroDivisionError.

Конечно, в блоке исключений ничего не происходит с объектом исключения. Вместо этого используется оператор pass, чтобы игнорировать исключение. И как только мы выходим из блока исключений, Python удаляет переменную e, которая теперь находится вне области видимости.

При выполнении команды print(e), возникает ошибка NameError, потому что переменная e была удалена и больше не существует.
Каким будет значение переменной number в конце выполнения этого кода?
Anonymous Quiz
61%
5
22%
49
4%
50
13%
Ничего из выше перечисленного
Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе

Все возможно с Добровольным квалификационным экзаменом! Это бесплатный проект Правительства Москвы, где ты можешь показать свои знания по специальности, запомниться потенциальным работодателям и получить оффер в престижные компании Москвы.

Тебя ждет всего три шага:

1. Пройди тест

После регистрации на сайте ДКЭ тебе будет доступно 70 профессий по 7 направлениям. Выбирай тест по своей специальности и проверь уровень своих знаний!

2. Реши кейс

Если ты успешно сдал тест, тебя пригласят на следующий этап, где ты с другими участниками в команде будешь решать реальный кейс одного из работодателей.

3. Стань победителем

Окажись в числе лучших по общему количеству баллов за оба этапа и получи шанс попасть на оплачиваемую стажировку с дальнейшим трудоустройством.

Готов проявить себя? Регистрируйся и начинай проходить тест — https://dke.moscow/

Реклама. АНО "РАЗВИТИЕ ЧЕЛОВЕЧЕСКОГО КАПИТАЛА", АНО "РЧК". ИНН 7710364647.erid: LjN8KZLud
Объяснение:

В Python 3 переменные, используемые в генераторах списков, не влияют на переменные с тем же именем, объявленные вне их области видимости. Это происходит потому, что для выполнения генератора создаётся отдельная область видимости.

Однако, если бы вы запустили этот код в Python 2, переменная number, используемая внутри генератора, изменила бы значение переменной number вне его, и в результате она стала бы равной последнему значению цикла.

Таким образом, ответ для Python 3 — 5. Но если бы этот код был выполнен в Python 2, ответом было бы 49.

Но зачем вам запускать его в Python 2? Не делайте этого!