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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
Anonymous Quiz
9%
0 - 0 - 5
11%
2 - 1 - 5
71%
2 - 0 - 5
9%
Error
Объяснение:

Давайте пройдёмся по каждой переменной по отдельности.

fnum = (2 x 4) % 3 — здесь сначала выполняется умножение (2 x 4 = 8), а затем у полученного числа берётся остаток от деления на три (8 % 3 = 2). По итогу fnum = 2

snum = 3 x 2 % 3 — здесь также сначала 3 x 2 = 6, а уже затем 6 % 3 = 0. Связано это с тем, что операции умножения и получения остатка от деления имеют одинаковый приоритет. snum = 0

tnum = 5 x (1 % 2) — здесь наоборот, сначала 1 % 2 = 1, а затем 5 x 1 = 5. В итоге tnum = 5
Объяснение:

Так как здесь нигде нет обращения к глобальной переменной, то всё работает достаточно просто. Сначала выводится str, который находится внутри func() — его печать происходит внутри enclosed()

Затем печатается уже str, который был объявлен в самом начале кода — соответствующая команда является последней в программе
Как правильно записать строку "McDonald's" в переменную fastfood?
Anonymous Quiz
7%
fastfood = 'McDonald's'
62%
fastfood = 'McDonald\'s'
10%
fastfood = 'McDonald\\'s'
21%
fastfood = ""McDonald\'s""
Объяснение:

Бывают случаи, когда внутри строки есть знак одинарной кавычки и при этом сама строка также создана с её использованием

В таком случае внутри строки перед одинарной кавычкой надо использовать знак экранирования (\), чтобы программа работала корректно

Также можно пойти другим путём и создать строку с использованием двойных кавычек, т.е. fastfood = "McDonald's"
Каким будет результат выполнения кода выше?
Anonymous Quiz
20%
<class 'int'>
3%
<class 'float'>
23%
<class 'list'>
54%
<class 'range'>
Объяснение:

При использовании range(), в Python 3 возвращается объект типа range, а не list, как могло бы показаться
Каким будет результат выполнения кода выше?
Anonymous Quiz
55%
5
28%
4
2%
3
15%
Error
Объяснение:

В Python всё является ссылкой и при этом ссылки передаются по значению.

Таким образом, внутри функций мы можем менять значения передаваемых им аргументов, т.е. может быть изменено значение переменной в области видимости «вызывающей стороны»

Так как addToList() добавляет в список lst элемент 10, то она также увеличивает его длину на один. То есть длина списка становится равна пяти
Каким будет результат выполнения кода выше?
Anonymous Quiz
75%
48
2%
14
6%
64
17%
Error
Объяснение:

Lambda-функция возвращает результат выражения svar x fvar. Таким образом, 8 * 6 = 48
Объяснение:

Первый ответ неверен, т.к. в Python каждый объект и вправду имеет свой собственный, уникальный индентификатор
Каким будет результат выполнения кода выше?
Anonymous Quiz
6%
[0, 1, 2, 3, 4]
13%
[0, 2, 3, 4, 1]
69%
[0, 3, 4]
12%
Error