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
Каким будет результат выполнения кода выше?
Anonymous Quiz
10%
[2, 1, 4]
11%
[2, 1]
64%
[2, 3]
14%
Error
Объяснение:

Срез lst[1:-1] означает выбор элементов списка lst, начиная с индекса 1 (включительно) и заканчивая индексом -1 (не включая)

В свою очередь индекс -1 в Python означает последний элемент в списке
Каким будет результат выполнения кода выше?
Anonymous Quiz
47%
10
10%
20
6%
None
36%
Error
Объяснение:

Программа выдаст ошибку из-за попытки использования переменной var внутри функции func(), прежде чем она была определена внутри этой функции

Если мы хотим использовать внешнюю var, то это нужно явно указать внутри функции:

def func():
global var # указываем, что var — глобальная переменная
print(var)
var = 20
Каким будет результат выполнения кода выше?
Anonymous Quiz
76%
True
16%
False
1%
None
6%
Error
Объяснение:

Выражение result = (ten > five) == (five < ten) сравнивает два логических выражения и проверяет, равны ли они друг другу

Первое выражение (ten > five) сравнивает значения переменных ten и five и возвращает True, так как 10 больше 5

Аналогично, второе выражение (five < ten) сравнивает значения five и ten и также возвращает True, так как 5 меньше 10

Затем происходит сравнение двух полученных значений True == True, и результатом будет True

И да, синтаксис Python позволяет провернуть подобное. Никаких ошибок не будет
Каким будет результат выполнения кода выше?
Anonymous Quiz
5%
3
45%
4
5%
5
45%
Error
Объяснение:

В данном коде + используется для объединения двух кортежей. Таким образом, результатом конкатенации будет новый кортеж (1, 2, 3, 4)

То есть да, «плюсовать» два кортежа — это вполне реальный сценарий в Python, за такое по рукам не бьют

В свою очередь, длина этого кортежа равняется 4, что и является нашим ответом
Каким будет результат выполнения кода выше?
Anonymous Quiz
7%
Hello,
79%
,olleH
8%
world!
7%
Hello
Объяснение:

В str_ у нас «хранится» строка «Hello, world!». И сначала мы вызываем метод split() без аргументов, что разбивает строку на список подстрок по пробелам

Затем, с помощью индексации [0], выбирается первая подстрока «Hello,» из списка. Далее, к полученной подстроке применяется срез [::-1], который обращает порядок символов в строке.

Таким образом, строка «Hello,» будет преобразована в «,olleH»
Каким будет результат выполнения кода выше?
Anonymous Quiz
3%
10
61%
15
4%
None
32%
Error
Объяснение:

func(x) возвращает анонимную (лямбда) функцию, которая складывает аргумент x с переданным в неё аргументом y

Конструкция func(5)(10) вызывает функцию func() с аргументом 5, что возвращает лямбда-функцию и возвращённую лямбда-функцию с аргументом 10, которая выполняет сложение и возвращает результат

В результате выполнения func(5)(10) будет возвращено значение 15
Каким будет результат выполнения кода выше?
Anonymous Quiz
29%
()
17%
[]
22%
[0, 1, 2]
32%
Error
Объяснение:

Здесь у нас происходит присваивание с использованием среза lst[:]

Срез [:] представляет всю последовательность элементов списка lst. В данном случае, правая сторона присваивания () представляет пустой кортеж

Когда выполняется операция присваивания lst[:] = (), это означает, что все элементы списка lst будут заменены на элементы из пустого кортежа

Таким образом, список lst становится пустым и его новое значение становится []