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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
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"

Отсюда и наш ответ
Какую ошибку выдаст код выше?
Anonymous Quiz
16%
SyntaxError
38%
TypeError
15%
Exception
31%
None
Объяснение:

Код вызывает исключение типа TypeError, но обработка этого исключения не происходит в блоках except, т.к. оно уже перехвачено в блоке except Exception

Поскольку исключение не обрабатывается полностью, программа завершается с сообщением об ошибке TypeError, но без дополнительной информации о месте, где оно было вызвано
Каким будет результат выполнения кода выше?
Anonymous Quiz
19%
([],)
28%
([1],)
10%
([1],) Error
43%
Error