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

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

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

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

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

Метод bit_length() возвращает нам количество битов, которые необходимы для представления исходного числа в двоичном виде. Причём исключая знаки и начальные нули

Так как bin(-35) = -0b100011, bit_length(-35) = 6
Каким будет результат выполнения кода?
Anonymous Quiz
7%
<class 'list'>
60%
<class 'tuple'>
5%
<class 'dict'>
29%
Error
Объяснение:

Здесь мы получим ошибку, так как нарушили нормы синтаксиса Python

Допустим, что мы хотели создать кортеж (tuple). Тогда у нас было несколько вариантов, как правильно это сделать: var = tuple() / var = () / var = ('item', ) / var = 'item', / var = tuple('item')
Каким будет результат выполнения кода?
Anonymous Quiz
12%
[1, 1, 2, 3]
7%
[1, 2, 1, 3]
50%
[1, 2, 3]
32%
Error
Объяснение:

var — это множество, что подразумевает отсутствие в нём повторяющихся элементов

После того, как через метод .update() мы добавили в него {1, 2}, var начал равняться {1, 3, 2}. А уже после сортировки через sorted(), мы получили итоговый ответ — [1, 2, 3]
Каким будет результат выполнения кода?
Anonymous Quiz
6%
0.5
2%
2
27%
3
65%
Error
Объяснение:

Знак / говорит нам о том, что все аргументы до него должны быть позиционными. Так как аргумент x в нашем случае и так позиционный, то код просто выполняется, печатая сумму x и y
Каким будет результат выполнения кода?
Anonymous Quiz
56%
True
37%
False
2%
None
5%
Error
Объяснение:

Каждый элемент может входить в множество только один раз. Поэтому и var_one, и var_two будут равными. Они будут состоять из элементов 1, 2 и 3
Объяснение:

Здесь мы работаем с форматированием. В {название_переменной} мы помещаем переменную, значение которой хотим вывести через print

При этом есть здесь и интересная конструкция — {age / 10:.5f}. Работает это так: сначала мы делим 31 / 10 и получаем 3.1. Затем применяем к нему форматирование :.5f, где 5 — это количество символом в дробной части
Каким будет результат выполнения кода?
Anonymous Quiz
44%
True
48%
False
6%
1
2%
0
Объяснение:

В num мы записали адрес ячейки памяти, в которой хранится объект lst

Затем мы провели манипуляции, которые изменили значение lst с [0, 1, 2, 3, 4] на [1, 3]. Но так как список это изменяемый тип данных, то адрес, по которому расположился обновлённый список, остался прежним

Поэтому num вполне себе равен обновлённому id(lst)
Каким будет результат выполнения кода?
Anonymous Quiz
31%
True True
34%
True False
11%
False True
25%
False False