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

После того, как мы приравняли 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
Каким будет результат выполнения кода?
Anonymous Quiz
7%
Python
39%
P y t h o n
1%
Py th on
53%
Error
Объяснение:

Метод range() работает лишь с целыми числами. Передавая ему строку, мы получаем ошибку
Каким будет результат выполнения кода?
Anonymous Quiz
49%
True
25%
False
1%
1
1%
0
25%
Error
Объяснение:

Метод int() умеет «работать» со строками, но есть важное условие — они должны быть целыми числами

Т.е. int('101') сработает, а int('101.0') выдаст ошибку
Каким будет результат выполнения кода?
Anonymous Quiz
63%
{num_one} - один, {num_two} - два
20%
1 - один, 2 - два
17%
Error
Объяснение:

Если бы у нас внутри print() было f"{num_one} - один, {num_two} - два", то правильным ответом был бы второй

Но так как мы «забыли» использовать форматирование, то нам вывелся текст, заключённый внутрь кавычек
Каким будет результат выполнения кода?
Anonymous Quiz
9%
0
15%
2
23%
4
52%
6
Объяснение:

В цикле for переменная i будет иметь значения 0, 2, 4

И все они по очереди прибавляются к p, т.е. p = 2 + 0 + 2 + 4 = 8

Но перед тем, как распечатать p, мы вычитаем из него 2, т.е. p = 8 - 2 = 6

Это и есть наш ответ :)
Каким будет результат выполнения кода?
Anonymous Quiz
2%
1
1%
0
38%
True
59%
False
Объяснение:

В Python два неизменяемых кортежа ссылаются на один объект в памяти. Поэтому если бы здесь мы имели дело с ними, то ответ был бы True

Но списки — изменяемый тип, поэтому под них создаётся новый объект. В итоге var_one и var_two ссылаются на разные объекты