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

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

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

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

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

Начнём со строки *num_one, num_two = [0, 1, 2]

Здесь мы записываем 2 в переменную num_two, а остальные элементы списка «уходят» в *num_one

func(*var) — это функция, которая принимает неопределённое количество аргументов, в нашем случае это func(0, 1). То же и с print(*var)

Ну а при вызове func(*num_one) мы просто распаковали значение *num_one, т.е. опять же передали func() значения 0 и 1
Каким будет результат выполнения кода выше?
Anonymous Quiz
15%
10
24%
8
8%
18
53%
Error
Объяснение:

В int() вторым аргументом является система счисления. В нашем случае система счисления — восьмиричная:

1 * 8^1 + 0 * 8^0 = 8
Каким будет результат выполнения кода выше?
Anonymous Quiz
25%
True
57%
False
3%
None
15%
Error
Объяснение:

== имеет больший приоритет, чем not, а значит сначала сравнивается num с True (и получается False) и только потом результат меняется на противположный (False —> True)
Каким будет результат выполнения кода выше?
Anonymous Quiz
54%
Oh, no
6%
None
28%
12%
Error
Объяснение:

В Python else есть не только у if, но и у for с try

В случае с циклом, блок else выполняется в случае, если он завершился нормально и не был остановлен при помощи оператора break

Т.к. continute это не break, то мы спокойно получаем на печать Oh, no
Каким будет результат выполнения кода выше?
Anonymous Quiz
35%
True
53%
False
3%
None
9%
Error
Объяснение:

Метод sort() вернёт None, а значит в print() мы получим сравнение None == [0, 2, 4]. Отсюда и ответ False
Каким будет результат выполнения кода выше?
Anonymous Quiz
21%
0 0 0
59%
0 1 2
3%
None
17%
Error
Объяснение:

Хоть i = 0 и приравнивает переменную к нулю, уже на следующем проходе i берёт значение из range()

Поэтому мы и печатаем элементы, которые встречаются в range(3)
Каким будет результат выполнения кода выше?
Anonymous Quiz
43%
{0, 1, 2, 3}
5%
{1, 2, 3, 4}
38%
{range(0, 4)}
14%
Error
Объяснение:

Объект типа range — это отдельный объект. Поэтому он сохраняется в таком виде в качестве элемента множества (set)

Если же нужно получить {0, 1, 2, 3}, то надо распаковать range:

s = {*range(4)}
Каким будет результат выполнения кода выше?
Anonymous Quiz
12%
['a', 'A', 'b', 'B']
53%
['A', 'B', 'a', 'b']
32%
['a', 'b', 'A', 'B']
3%
Error