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
Объяснение:

Использование запятой без значений внутри круглых скобок var = (,) не является допустимым синтаксисом в Python

Как минимум, внутри этих скобок должно быть указано хотя бы одно значение, иначе возникает синтаксическая ошибка

Так, если нужно создать кортеж с одним элементом, можно добавить запятую после значения. Например, var = (0,)
Объяснение:

Во всём виновата пустой print() внутри другого print(). Полное объяснение можно найти по ссылке
Каким будет результат выполнения кода выше?
Anonymous Quiz
14%
True
21%
False
8%
Warning
57%
Error
Объяснение:

Результат выполнения кода выше вызывает предупреждение 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