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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Объяснение:

Когда мы создаём словарь 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
Каким будет результат выполнения кода выше?
Anonymous Quiz
38%
ABC DEF
39%
Abc Def
20%
Abc def
2%
abc def
Объяснение:

Функция capitalize() в Python делает первую букву строки заглавной, а остальные буквы строчными

В данном случае, строка "abc DEF" преобразуется в "Abc def"
Каким будет результат выполнения кода выше?
Anonymous Quiz
10%
(0, 1, 2, 3)
7%
(1, 2, 3)
32%
1 Error
51%
Error
Объяснение:

Когда мы создаём tuple1 = (0), на самом деле создается не кортеж, а целое число. Поэтому строка tuple1 += 1 увеличивает это значение на 1, и tuple1 теперь равно 1

А вот tuple2 это уже кортеж, и когда мы пытаетемся сложить tuple1 и tuple2, Python не знает, как сложить целое число и кортеж, что приводит к ошибке