Python: задачки и вопросы
7.7K subscribers
1.2K photos
2 videos
1 file
99 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Объяснение:

В конструкции try-except-else-finally блок finally выполняется даже в том случае, если в блоке try есть оператор возврата
Каким будет результат выполнения кода?
Anonymous Quiz
18%
1 2 3
17%
1 2 3 1 2 3 1 2 3 ...
34%
None None None
31%
Error
Объяснение:

Т.к. set.add() возвращает в Python значение None, то и на печать у нас трижды выведется None (по разу на каждый из элементов множества nums)
Каким будет результат выполнения кода?
Anonymous Quiz
41%
:\\\\:
50%
:\\:
6%
::
3%
Error
Объяснение:

Для того, чтобы вывести в Python на печать знак \, который обычно используется в качестве знака экранирования, необходимо его экранировать таким же знаком \

Проще говоря, чтобы print() распечатал нам \, нужно написать print("\\")
Каким будет результат выполнения кода?
Anonymous Quiz
4%
42 42
23%
-42 42
69%
42 -42
3%
-42 -42
Объяснение:

Пойдём по порядку. Выражение среза (num_two, num_one)[::-1] меняет изначальный кортеж (-42, 42) на противоположный, т.е. (42, -42)

И именно его мы присваиваем в num_one, num_two = (num_two, num_one)[::-1]

Отсюда следует, что значение num_one и num_two остались такими же, как были изначально. А потому и ответ 42 -42
Каким будет результат выполнения кода?
Anonymous Quiz
28%
2
12%
0
50%
0 2
10%
Error
Объяснение:

Условие if num % 5 == 0 выполняется в случае, если остаток при делении num на 5 будет равен 0. В range(10), т.е. в диапазоне чисел от 0 до 9 включительно это числа 0 и 5

В свою очередь функция func() возвращает нам остаток от деления этих чисел на 3. Отсюда и ответ 0 2 (0 % 3 == 0 и 5 % 3 == 2)
Каким будет результат выполнения кода?
Anonymous Quiz
9%
0
57%
None
13%
[]
20%
Error
Объяснение:

Всё так, если скормить функции max() пустой список, то код выдаст ошибку. Для избежания этой проблемы, можно задать дефолтное значение:

max(lst, defaul=None)

Теперь, если max() не сможет найти максимальное значение, то хотя бы выдаст значение None
Каким будет результат выполнения кода?
Anonymous Quiz
13%
True
31%
False
7%
0
28%
1
21%
Error
Объяснение:

Здесь всё просто. При сравнении двух id, мы получаем False

Умножим это значение на -1 и наше False-значение превращается в falsy, равное 0

И уже к нему прибавив 1, мы получаем ответ 1