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
Каким будет результат выполнения кода выше?
Anonymous Quiz
25%
True
40%
False
3%
None
32%
Error
Объяснение:

При использовании, оператор or возвращает первое истинное значение из двух операндов или последний операнд, если оба являются ложными

В данном случае, поскольку значение var является истинным, оператор or не будет вычислять выражение 0/0 и вернёт значение var, то есть "False"

Поэтому мы и получаем такой ответ
Каким будет результат выполнения кода выше?
Anonymous Quiz
64%
True
23%
False
3%
0
10%
Error
Объяснение:

В Python все числовые значения, которые не 0, это True. В том числе и -1
Каким будет результат выполнения кода выше?
Anonymous Quiz
19%
[1, 2, 3]
20%
[1, 2]
33%
1 2
28%
Error
Объяснение:

*a, b = [1, 2, 3] означает, что последний элемент списка присваивается b, а первые два уходят в *a

При вызове func(*a), переменная a будет распакована в отдельные аргументы функции, таким образом она будет вызвана как func(1, 2)

Внутри функции print(*var) принимает переменное количество аргументов и выводит их значения, разделённые пробелом. Т.е 1 2
Каким будет результат выполнения кода выше?
Anonymous Quiz
39%
()
19%
(None, )
7%
(0, )
34%
Error
Объяснение:

Использование запятой без значений внутри круглых скобок 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), он очищается

Отсюда и ответ — пустой список