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

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

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

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

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

Функция join() не меняет исходный список — она создаёт новую строку. Поэтому чтобы сохранить результат выполнения функции, его надо было присвоить переменной

По итогу мы выводим на печать изначальный список var, который никак не изменился
Каким будет результат выполнения кода?
Anonymous Quiz
42%
Yes
42%
No
9%
None
7%
Error
Объяснение:

В конструкции 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