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
57%
True True 3 1 False
20%
True True 3 1 True
11%
True False True True True
11%
True False True False False
Объяснение:

В Python, булевы значения True и False эквивалентны целым числам 1 и 0 соответственно. Поэтому True == 1 и False == 0 возвращают True

Когда вы складываете булевы значения, они интерпретируются как числа: True + True + True равно 3 и True + False + False равно 1

Однако None не эквивалентен нулю, поэтому None == 0 возвращает False
Каким будет результат выполнения кода выше?
Anonymous Quiz
35%
True
27%
False
3%
None
34%
Error
Объяснение:

В данном коде мы пытаемся присвоить атрибут item объекту lst, который является экземпляром класса list

Однако в Python стандартные типы данных, такие как списки, не поддерживают присвоение произвольных атрибутов

По этой причине, когда мы пытаемся выполнить lst.item = lst, возникает исключение AttributeError
Каким будет результат выполнения кода выше?
Anonymous Quiz
33%
1
22%
2
6%
Nan
39%
Error
Объяснение:

Когда мы создаём словарь var с ключом float('nan'), у нас есть один элемент в словаре

Однако, когда мы пытаемся обновить значение этого ключа с помощью var[float('nan')] = 2, Python не считает float('nan') и float('nan') одинаковыми ключами из-за того, что NaN не равно самому себе по определению в стандарте IEEE 754 для плавающей точки

Таким образом, вместо обновления существующего значения, Python добавляет новую пару ключ-значение в словарь, и теперь у нас есть два элемента в var. Это и приводит к тому, что len(var) возвращает 2
Каким будет результат выполнения кода выше?
Anonymous Quiz
63%
{1, 2, 3, 4}
16%
{1, 2, 3, 3, 4}
2%
{3}
19%
Error
Объяснение:

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

Вместо этого, для объединения множеств в Python используется метод union() или оператор |
Каким будет результат выполнения кода выше?
Anonymous Quiz
18%
True
46%
False
9%
1
28%
0
Объяснение:

Ответ 0, потому что lst1 и lst2 — это два разных объекта в памяти, даже если их содержимое одинаково

Оператор is проверяет идентичность объектов, а не их равенство

Таким образом, lst1 is lst2 возвращает False, что при преобразовании в int даёт 0
Каким будет результат выполнения кода выше?
Anonymous Quiz
17%
20.23
14%
2023
39%
2023.0
31%
Error
Объяснение:

Когда мы преобразуем строку "20_23" в число с плавающей точкой с помощью функции float(), символ подчёркивания в Python может использоваться для группировки цифр в числах, делая их более читаемыми

В этом контексте, "20_23" читается как 2023, поэтому float(var) вернёт 2023.0
Каким будет результат выполнения кода выше?
Anonymous Quiz
8%
89
54%
90
14%
99
24%
100
Объяснение:

Цикл for i in range(10) повторяется 10 раз. Внутри этого цикла другой цикл for j in range(-1, -10, -1) повторяется 9 раз (от -1 до -9 включительно)

Таким образом, внутренний блок кода (где num += 1) выполняется 10 * 9 = 90 раз. Это и даёт ответ 90