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

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

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

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

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

Здесь предполагается итерация через диапазон чисел с шагом 0.5 от 0.5 до 5.5, и каждое число прибавляется к переменной res

Однако функция range() принимает только целочисленные аргументы, и, следовательно, вызов range(0.5, 5.5, 0.5) вызовет ошибку TypeError

Из-за нее код не будет выполнен, и ничего не будет выведено
Каким будет результат выполнения кода выше?
Anonymous Quiz
16%
True True
10%
True False
61%
False False
13%
Error
Объяснение:

Наш код сравнивает три разных типа данных в 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