Python: задачки и вопросы
7.74K subscribers
1.19K photos
1 video
1 file
91 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода?
Anonymous Quiz
4%
1 2 3
6%
one two three
31%
1one 2two 3three
59%
Error
Объяснение:

Мы получаем TypeError, так как Python не позволяет распаковать неитерируемый объект int
Объяснение:

При умножении списка на какое-то число N, у нас есть два варианта:

— если N > 0, то элементы списка будут добавлены N раз к исходному списку;
— если N <= 0, то список станет пустым
Каким будет результат выполнения кода?
Anonymous Quiz
6%
0 - 0 - 5
3%
1 - 2 - 10
79%
2 - 1 - 5
12%
2 - 0 - 5
Объяснение:

Для начала, * и % имеют одинаковый приоритет операторов. Поэтому вычисления происходят слева направо (кроме тех случаев, когда есть круглые скобки)

var_one = (2 * 4) % 3 = 8 % 3 = 2
var_two = 3 * 2 % 5 = 6 % 5 = 1
var_three = 5 * (1 % 2) = 5 * 1 = 5
Каким будет результат выполнения кода?
Anonymous Quiz
24%
2
49%
3
12%
6
15%
7
Объяснение:

В результате работы lst.append(7) мы добавим элемент 7 в конце изначального списка и получим: lst = [[1, 2, 3, 4, 5], 7]

Далее мы вызываем lst.insert(1, 8), что на выходе даёт: lst = [[1, 2, 3, 4, 5], 8, 7]

Ну и длина этого списка, в свою очередь, равняется 3
Каким будет результат выполнения кода?
Anonymous Quiz
8%
Nice
38%
Not nice
11%
Let's go on
42%
Error
Объяснение:

Так как ошибки вылавливаются во время выполнения программы, а не её синтаксического анализа, мы получаем ошибку Invalid Syntax
Каким будет результат выполнения кода?
Anonymous Quiz
27%
[]
45%
['P', 'y', 't', 'h', 'o', 'n']
1%
['P', 'y', 't', 'h', 'o']
26%
Error
Объяснение:

После того, как мы приравняли lst_orig к lst_new, у нас появилось две ссылки на объект ['P', 'y', 't', 'h', 'o', 'n']. А потому даже удалив lst_orig, lst_new продолжает быть привязан к нему

В Python объект «висит» в памяти до тех пор, пока есть хотя бы одна ссылка на него
Каким будет результат выполнения кода?
Anonymous Quiz
16%
1
12%
3
70%
2
1%
0
Объяснение:

Метод remove() удаляет первый совпавший с его аргументом элемент последовательности

Здесь это lst[1], т.е. 2. После удаления этого элемента, следующие за ним значения сдвигаются влево и мы получаем lst = [1, 1, 2, 3]

По итогу lst[2] становится равным 2