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

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

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

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

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

Если мы передадим нулевое значение в конструктор bool(), то получим булево значение False. При этом любое ненулевое значение «даст» True
Каким будет результат выполнения кода?
Anonymous Quiz
2%
0
1%
50
22%
None
75%
Error
Объяснение:

Запустив код выше, мы получим ошибку

NameError: name 'num' is not defined

Связано это с тем, что для получения доступа к возвращаемому значению функции, нужно присвоить его какой-нибудь переменной

То есть вместо

func()
print(num)


надо было написать

var = func()
print(var)
Каким будет результат выполнения кода?
Anonymous Quiz
59%
-4
17%
4
22%
-5
2%
5
Объяснение:

Когда результатом использования оператора деления // является отрицательное число, сам результат округляется до меньшего значения

Т.е. -16 // 4 = -4, но -17 // 4, -18 // 4, -19 // 4 и -20 // 4 равняются -5
Каким будет результат выполнения кода?
Anonymous Quiz
70%
5.0
28%
5
1%
0
1%
Error
Объяснение:

Запомните, результатом деления (/) всегда будет число типа float
Каким будет результат выполнения кода?
Anonymous Quiz
63%
216
19%
864
13%
1062882
5%
Error
Объяснение:

Оператор возведения в степень (**) имеет более высокий приоритет, чем оператор умножения (*)

Поэтому оператор 2 * 3 ** 3 * 4 = 2 * 27 * 4 = 216
Какой из перечисленных операторов имеет наивысший приоритет?
Anonymous Quiz
49%
not
15%
&
35%
*
2%
+
Объяснение:

Всё так, * имеет наивысший приоритет среди всех перечисленных в задании операторов

Выше его лишь **, ~x, +x, -x
Каким будет результат выполнения кода?
Anonymous Quiz
64%
64
32%
512
4%
Error
Объяснение:

Т.к. мы не использовали скобки, то оператор возведения в степень сработал по стандартному сценарию

Загвоздка в том, что он выполняется справа налево

Таким образом, 2 ** 3 ** 2 = 2 ** 9 = 512