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
14%
{'Hello': 'World', 'First': 1}
66%
{'World': 'Hello', 1: 'First'}
5%
{'Hello': 1, 'First': 'World'}
15%
Error
Объяснение:

В словаре dct2 мы используем генератор словаря, который переворачивает ключи и значения словаря dct1

Это означает, что каждое значение из dct1 становится ключом в dct2, а каждый ключ из dct1 становится значением в dct2
Каким будет результат выполнения кода выше?
Anonymous Quiz
11%
why?!
80%
?!why
3%
wy!
6%
Error
Объяснение:

Когда мы берём срез text[3:], мы получаем все символы, начиная с четвёртого (индексация с 0), то есть "?!"

Когда же мы работаем со срезом text[:3], мы получаем уже первые три символа строки, то есть "why"

Затем мы соединяем два полученных среза, сначала "?!" и потом "why", что даёт итоговую строку "?!why"
Каким будет результат выполнения кода выше?
Anonymous Quiz
20%
['b', 'o']
10%
['b', 'o', 'b', 'o']
6%
[]
65%
Error
Объяснение:

Выражение lst1 + lst2 - 2 * lst3 будет вызывать ошибку, так как операции вычитания (-) и умножения (*) не определены для списков в контексте кода выше

Операция сложения (+) между двумя списками допустима и приведёт к их объединению

Но когда интерпретатор дойдёт до операции вычитания, он выдаст ошибку. Чтобы выполнить вычитание или умножение списков, нужно использовать специализированные функции или библиотеки, например, NumPy для работы с массивами
Каким будет результат выполнения кода выше?
Anonymous Quiz
80%
[-2, -1, 0]
7%
[0, 1, 2]
3%
0
11%
Error
Объяснение:

Код выше использует функцию 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