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

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

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

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

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

Круглые скобки вокруг строки могут ввести в заблуждение, но они не создают кортеж (tuple), если внутри них находится всего один элемент и не следует запятая

Запятая является тем, что на самом деле определяет кортеж, а не круглые скобки.

Когда выполняется print(type(tup)), Python возвращает <class 'str'>, потому что tup является строкой, а не кортежем
Каким будет результат выполнения кода выше?
Anonymous Quiz
18%
32 32
18%
32 64
11%
64 64
52%
64 48
Объяснение:

Списки в Python динамические, что означает, что они могут изменяться после создания, например, вы можете добавить или удалить элементы. Эта гибкость требует дополнительной памяти для хранения ссылок на объекты, а также дополнительной информации, необходимой для управления списком

С другой стороны, кортежи в Python статические и неизменяемые, что означает, что после создания вы не можете изменить их. Это делает кортежи более эффективными с точки зрения использования памяти, поскольку они не требуют дополнительного пространства для управления изменениями

Поэтому, когда мы печатаем размеры lst и tup, то видим, что tup.__sizeof__() возвращает меньшее значение по сравнению с lst.__sizeof__()
Каким будет результат выполнения кода выше?
Anonymous Quiz
11%
[1, 2, 3, 4]
6%
[1, 2, 3]
74%
[2, 3, 4]
10%
Error
Объяснение:

Здесь lst2 не является новым списком; это просто другая ссылка на тот же самый список, на который ссылается lst1. А это значит, что обе переменные lst1 и lst2 указывают на один и тот же объект в памяти

Когда вызывается метод lst1.pop(0), первый элемент списка удаляется, и теперь список выглядит как [2, 3]

Затем, когда вызывается метод lst2.append(4), в список добавляется элемент 4, и теперь список выглядит как [2, 3, 4]

Поскольку, напомним, lst1 и lst2 указывают на один и тот же список, любые изменения, внесённые через одну из переменных, отражаются в другой переменной

Поэтому мы и получаем [2, 3, 4] при печати lst1
Каким будет результат выполнения кода выше?
Anonymous Quiz
58%
0
26%
1
4%
2
12%
Error
Объяснение:

Функция round() в Python округляет число до ближайшего чётного числа, если дробная часть числа равна 0.5

Это называется «округлением к ближайшему чётному» и помогает уменьшить ошибки округления при обработке большого количества данных

Таким образом, round(11.5) вернёт 12 и round(12.5) вернёт 12

А 12 - 12 = 0
Объяснение:

Третий способ создаёт множество. Остальные варианты — словари
Каким будет результат выполнения кода выше?
Anonymous Quiz
1%
0
24%
5
73%
5.0
2%
Error
Объяснение:

Операция деления (/) в Python возвращает результат в виде числа с плавающей точкой (float), даже если оба числа являются целыми и деление происходит нацело

Если бы в коде использовалось целочисленное деление (//), результат был бы 5
Каким будет результат выполнения кода выше?
Anonymous Quiz
23%
1
69%
2
2%
3
6%
Error
Объяснение:

В данном примере, несмотря на то, что в блоке try есть инструкция return 1, блок finally будет выполнен в любом случае после выполнения блока try

Поскольку в блоке finally также есть инструкция return 2, это значение будет возвращено функцией func, переопределяя предыдущее значение 1