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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
Anonymous Quiz
3%
>0
23%
<0
18%
None
56%
Error
Объяснение:

Условный оператор elif обязательно должен содержать условие. Когда такового нет, используется else

Если не придерживаться этого простого правила, то мы будем получать SyntaxError, как в этой задаче
Каким будет результат выполнения кода выше?
Anonymous Quiz
64%
10
15%
6
4%
3
17%
Error
Объяснение:

Здесь довольно простенькая рекурсия. При входе в функцию recursion(), varOne = 10, varTwo = 3

Это значит, что условия varOne == 0 и varOne % 3 == 0 не выполняются. Поэтому мы снова вызываем эту функцию, но теперь varOne = 8, varTwo = 4

Опять же, оба условия мимо, поэтому вызов функции вновь неизбежен. На этот раз varOne = 6, varTwo = 5. И здесь условие varOne % 3 == 0 выполняется, поэтому мы возвращаем varTwo * 2, что равняется 10
Каким будет результат выполнения кода выше?
Anonymous Quiz
74%
0
3%
5
3%
25
20%
100
Объяснение:

Можем даже не смотреть на то, что происходит в функции func(), так как она не возвращает никаких значений

А потому в данном случае при печати print(x) мы получаем 0
Каким будет результат выполнения кода выше?
Anonymous Quiz
38%
3
25%
6
18%
7
19%
Error
Объяснение:

Каждый раз, когда i % 3 != 0, мы переходим к следующей итерации цикла. Таким образом, значение c увеличивается лишь при i = 0 и в случае, когда i делится на 3 без остатка (здесь это 3 и 6)
Каким будет результат выполнения кода выше?
Anonymous Quiz
4%
1
33%
3
26%
6
37%
Error
Объяснение:

При выполнении lst[2:6] = [3] мы заменяем элемент списка с индексом 2 на новое значение

В данном случае это 3. Всё, что было записано в списке дальше, исчезает. Поэтому длина обновлённого lst равняется 3
Каким будет результат выполнения кода выше?
Anonymous Quiz
12%
14
8%
15
37%
140
42%
Error
Объяснение:

Рассмотрим первую половину выражения в print(): type(type()) == <class 'type'>. Именно это значение мы и записываем в varTwo. В итоге приведя эту переменную сначала к str, после чего посчитав его длину, мы получим число 14. Приведя это значения к типу данных str, мы получим строку "14"

Со второй половиной проще. Здесь мы просто считаем длину пустого словаря — она равна 0. Получившееся значение мы также приводим к str

По итогу, сложив первую и вторую половины выражения внутри print(), мы получаем 140
Каким будет результат выполнения кода выше?
Anonymous Quiz
44%
[0, 1, 2, 3] [0, 1, 2, 3]
45%
[0, 1] [0, 1, 2, 3]
3%
[0, 1, 2, 3] [0, 1]
8%
Error