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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
Anonymous Quiz
37%
True
42%
False
3%
None
18%
Error
Объяснение:

<< — это побитовое смещение влево. После знака << идёт число, на которое это сдвиг происходит

При этом сам сдвиг прослеживается лишь в двоичной системе счисления:

2 << 1 == 10 << 1 == 100 == 4 — пример из задачки
2 << 2 == 10 << 2 == 1000 == 8

В свою очередь, 2 ** 2 — это 2 во второй степени, т.е. 4

По итогу 4 == 4, ответ — True
Каким будет результат выполнения кода выше?
Anonymous Quiz
19%
1
59%
1.25
3%
None
19%
Error
Объяснение:

Type hint — это лишь подсказка для IDE. На выполнение непосредственно кода она никаким образом не влияет
Каким будет результат выполнения кода выше?
Anonymous Quiz
6%
1
2%
2
72%
(1, 2)
20%
Error
Объяснение:

В данном случае var равняется (1, 2), а поэтому в форматированная печать print(f"{var}") выведет (1, 2)
Каким будет результат выполнения кода выше?
Anonymous Quiz
27%
True
66%
False
3%
None
4%
Error
Объяснение:

Списки — изменяемый тип данных. Поэтому под два разных списка создаётся отдельный объект. Даже если их значения одинаковые
Каким будет результат выполнения кода выше?
Anonymous Quiz
55%
{0, 1, 2, 3}
5%
{1, 2, 3, 4}
21%
{range(0, 4)}
19%
Error
Объяснение:

В нашем случае range — это вполне себе отдельный объект, который может лечь внутрь множества в качестве одного из его элементов

Если уж мы хотим запихнуть в множество числа от 0 до 3 (включительно), то тогда скорее надо делать распаковку:

set_ = {*range(4)}
Каким будет результат выполнения кода выше?
Anonymous Quiz
8%
11
35%
22
1%
33
56%
Error
Объяснение:

К элементам множества (set) нельзя получить доступ через их индекс, т.к множество — неиндексируемая коллекция
Каким будет результат выполнения кода выше?
Anonymous Quiz
12%
81
64%
512
15%
1024
9%
Error
Объяснение:

Не так давно была похожая задачка. Напоминаем — в Python вычисление степени ведётся справа налево. То в данном случае сначала 3 ** 2 (будет 9), а уже потом 2 ** 9 (будет 512)