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

Код выше использует функцию filter(), чтобы отфильтровать элементы списка lst, применяя функцию func() к каждому из них

В свою очередь, функция func() возвращает True для значений меньше 1 и False для значений больше или равных 1

Поэтому, когда filter() применяется к lst с помощью func(), он сохраняет только те элементы, для которых func() возвращает True
Каким будет результат выполнения кода выше?
Anonymous Quiz
32%
-1
7%
0
14%
1
48%
Error
Объяснение:

Здесь применяются унарные операторы + и -

Унарный + не изменяет значение операнда, в то время как унарный - меняет знак операнда на противоположный.

Однако эти операторы применяются последовательно, а не одновременно. Сначала применяется унарный оператор + к переменной num, что не изменяет её значение, а затем унарный оператор - применяется к результату, меняя знак на противоположный

Так мы и получаем ответ -1
Каким будет результат выполнения кода выше?
Anonymous Quiz
69%
2 7
16%
1 7
4%
2 5
11%
1 5
Объяснение:

В данном коде создаётся объект var класса SecondClass, который наследуется от FirstClass

Метод __init__ в SecondClass вызывает метод __init__ в FirstClass с помощью функции super(), устанавливая значения self.__i и self.j в 1 и 5 соответственно, а затем переопределяет их значения на 2 и 7

Однако переменная self.__i в SecondClass не переопределяет self.__i в FirstClass из-за двойного подчеркивания, которое делает эту переменную «приватной»

Поэтому, когда вызывается метод display из FirstClass, он печатает значение self.__i и self.j из FirstClass, а не из SecondClass. Отсюда и ответ — 1 7
Каким будет результат выполнения кода выше?
Anonymous Quiz
53%
True
15%
False
28%
exit
3%
Error
Объяснение:

В Python строки являются «истинными» (True), если они не пусты, и «ложными» (False), если пусты

Так как обе строки text1 и text2 не пусты, их булево значение будет True, и условие if bool(text1) == bool(text2) выполняется

Следовательно, будет напечатано True
Каким будет результат выполнения кода выше?
Anonymous Quiz
24%
ПП
26%
Пп
42%
пП
8%
пп
Объяснение:

Метод capitalize() делает первую букву строки заглавной, а остальные строчными, получается "А есть ли подвох?"

Метод title() делает заглавной первую букву каждого слова, получается "А Есть Ли Подвох?"

Символ под индексом 10 в обеих строках — это 'п', просто в разном регистре, поэтому при сложении x[10] + y[10] получается "пП"
Каким будет результат выполнения кода выше?
Anonymous Quiz
10%
(1, 2, 3, 4)
5%
(0, 1, 2, 3, 4)
12%
(0, 2, 3, 4)
74%
Error
Объяснение:

Код выше выдаст TypeError, потому что кортежи в Python являются неизменяемыми объектами и не поддерживают присвоение значений их элементам
Каким будет результат выполнения кода выше?
Anonymous Quiz
34%
11
29%
11.0011999999999
13%
12
24%
Error
Объяснение:

Результат выполнения кода — 11

В цикле каждый элемент кортежа tup преобразуется в целое число с помощью функции int() и добавляется к переменной var

Значения True преобразуются в 1, False в 0, дробные и вещественные числа округляются вниз до ближайшего целого, поэтому 1.001 становится 1 и 2e-04 становится 0, а значение 8 остается без изменений