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

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

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

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

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

Результат выполнения кода выше вызывает предупреждение SyntaxWarning, поскольку утверждение (assertion) всегда истинно

Ошибка заключается в использовании скобок. Правильное написание assert выглядит так:

assert num == 25, "Error"
Каким будет результат выполнения кода выше?
Anonymous Quiz
32%
()
25%
[]
14%
[1, 2, 3]
29%
Error
Объяснение:

lst[:] — это срез всего списка lst. И когда мы присваиваем ему это пустой кортеж (tuple), он очищается

Отсюда и ответ — пустой список
Каким будет результат выполнения кода выше?
Anonymous Quiz
49%
{1, 2, 3}
18%
{1, 2, 3, 3}
1%
{1, 2}
33%
Error
Объяснение:

Ошибка будет возникать на этапе выполнения кода

Всё потому что оператор += не поддерживается для множеств (set) в Python. Если попытаться выполнить данный код, то вылетит ошибка TypeError

Вместо этого, для объединения множеств, можно использовать метод union() или оператор объединения |
Каким будет результат выполнения кода выше?
Anonymous Quiz
28%
b'Ща что-то будет'
35%
b'???????????????'
3%
b''
34%
Error
Объяснение:

Код выше пытается закодировать строку "Ща что-то будет" с помощью кодировки ASCII

Но данная кодировка поддерживает лишь символы в диапазоне от 0 до 127 и не может представить кириллические символы

Отсюда и ошибка
Каким будет результат выполнения кода выше?
Anonymous Quiz
41%
True True
44%
True False
9%
False True
6%
Error
Объяснение:

В Python маленькие целые числа (обычно в диапазоне от -5 до 256) кэшируются и повторно используются

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

И если с pow(1, 2) это срабатывает, т.к. результат 1, то в случае с pow(10, 20) уже нет — результат выполнения этой функции равняется 1e+20, т.е. сильно больше 256
Каким будет результат выполнения кода выше?
Anonymous Quiz
6%
5 5
8%
-5 -5
15%
-5 5
71%
5 -5
Объяснение:

Разберём код пошагово:

a, b = (b, a) создаёт кортеж (-5, 5)

Затем мы сразу же разворачиваем его, используя [::-1], после чего кортеж равняется (5, -5)

Его элементы мы и выводим по порядку через print(), преобразовав в строку каждый
Каким будет результат выполнения кода выше?
Anonymous Quiz
18%
Golang
38%
Python
15%
("Golang", "Python")
29%
Error
Объяснение:

В Python словари не могут содержать повторяющихся ключей. Когда мы определяем словарь с повторяющимися ключами, последнее вхождение пары ключ-значение перезапишет все предыдущие

В данном случае, пара "language": "Golang" перезаписывается парой "language": "Python". Поэтому значение, связанное с ключом "language", становится "Python"

Отсюда и наш ответ