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
Объяснение:

Наш код сравнивает три разных типа данных в Python: список (var1), множество (var2) и кортеж (var3)

Список и множество не могут быть равны, потому что множество не учитывает порядок элементов и не допускает повторений, в отличие от списка

Список и кортеж также не равны, несмотря на одинаковые элементы, потому что это разные типы структур данных

Таким образом, результат обоих сравнений будет False
Каким будет результат выполнения кода выше?
Anonymous Quiz
18%
True True
18%
True False
34%
False True
30%
False False
Объяснение:

Здесь сравниваются булевы значения (истина или ложь) трёх разных типов данных: строки (var1), комплексного числа (var2), и специального значения None (var3)

В Python пустая строка имеет ложное значение, но поскольку var1 содержит пробел, она не пустая и её булево значение будет True

Комплексное число 0j рассматривается как False, так как его величина равна 0

None всегда имеет значение False

Таким образом, bool(var1) == bool(var3) вернёт False, а bool(var2) == bool(var3) вернёт True
Каким будет результат выполнения кода выше?
Anonymous Quiz
35%
(0, 1, 2)
19%
(0, 1, (2))
1%
(4, 5)
45%
Error
А вы знаете, что у нас сейчас проходит розыгрыш подписок Telegram Premium?

Чтобы принять участие, достаточно подписаться на 4 канала, которые помогут быть в тренде и получать лучшее из мира IT:

— тот самый Типичный программист: @tproger

— полезные сохранёнки на все случаи жизни: @prog_stuff

— нужные инструменты для ваших проектов: @prog_tools

— новости из мира технологий: @your_tech
Объяснение:

Здесь мы объединяем два кортежа. Кортеж tup содержит элементы (0, 1) и складывается с еще одним кортежем, содержащим один элемент (2,)

Обратите внимание, что запятая после 2 необходима, чтобы Python распознал (2, ) как кортеж, а не просто число в скобках

Результатом их сложения будет новый кортеж (0, 1, 2), содержащий элементы обоих исходных
Каким будет результат выполнения кода выше?
Anonymous Quiz
50%
0
5%
2
34%
[2, 2, 3]
11%
Error
Объяснение:

Наш код использует метод pop() на списке lst. Этот метод удаляет элемент из списка по указанному индексу и возвращает его

В данном случае, pop(1) удаляет элемент с индексом 1 из списка lst, равном [2, 0, 2, 3]

В списке Python индексация начинается с 0, так что элемент с индексом 1 — это второй элемент, который равен 0. Таким образом, print(lst.pop(1)) выведет 0
Каким будет результат выполнения кода выше?
Anonymous Quiz
8%
Nice
34%
Not nice
15%
Ok, let's go
43%
Error
Объяснение:

В коде выше есть синтаксическая ошибка из-за неполной конструкции if (нет условия после if)

Однако в Python синтаксические ошибки (SyntaxError) не могут быть перехвачены блоком try-except, потому что они возникают во время компиляции кода, а не во время его выполнения

Поэтому код не сможет выполниться должным образом и не выведет ни "Nice", ни "Not nice", ни "Ok, let's go"

Вместо этого он вызовет SyntaxError вне блока try-except
Каким будет результат выполнения кода выше?
Anonymous Quiz
60%
-4
13%
4
25%
-5
3%
5
Объяснение:

Здесь используется оператор целочисленного деления //, который возвращает целую часть от деления, округляя результат в сторону минус бесконечности

Поэтому, при делении -18 на 4, математический результат -4.5 округляется вниз до следующего целого числа, которое в этом случае является -5
Каким будет результат выполнения кода выше?
Anonymous Quiz
19%
[3, 2, 3]
10%
(3, 2, 3)
3%
[1, 2, 3]
68%
Error
Объяснение:

Здесь мы объявили кортеж nums с элементами (1, 2, 3). В Python кортежи являются неизменяемыми, то есть их элементы нельзя изменить после создания

Попытка выполнить операцию nums[0] = 3 приведет к ошибке, так как она пытается изменить первый элемент кортежа

Поэтому, код вызовет исключение TypeError при попытке выполнить эту строку, и print(nums) не будет выполнен