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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Объяснение:

Умножив lst на 3, мы получили список [5, 5, 5]. Далее, заменив его элементы, мы получили уже новый список — [0, 5, 10]. Сумма его элементов и даёт нам 15.
Объяснение:

«+» и «*» прекрасно работают со строками. В случае с куском кода выше, первая операция добавляет к «bound» строку «2 », а вторая просто удваивает получившийся результат.
Каким будет результат выполнения кода выше?
Anonymous Quiz
6%
[1, 0]
5%
[0, 1]
55%
[0]
34%
[1]
Объяснение:

Значение [1], которое присваивается списку внутри функции func() теряется, так как никто его не возвращает.

Таким образом, var как равнялась [0], так и продолжила равняться этому списку.
Каким будет результат выполнения кода выше?
Anonymous Quiz
24%
True True
33%
False False
12%
True False
31%
False True
Объяснение:

Объекты с одинаковым значением и вправду делят между собой один и тот же объект в библиотеке Python. Но это не распространяется на пользовательские неизменяемые классы.
Каким будет результат выполнения кода выше?
Anonymous Quiz
34%
[1, 2, 3] и [1, 2, 3]
34%
[1, 2, 3, 1, 2, 3] и [1, 2, 3, 1, 2, 3]
17%
[1, 2, 3] и [1, 2, 3, 1, 2, 3]
15%
Error
Объяснение:

Выражение alst = alst * 2 внутри afnc() создаёт новый список, а не меняет существующий. И при выходе из функции это значение теряется.

В то же время extend() модифицирует именно исходный список, а потому blst превращается из [1, 2, 3] в [1, 2, 3, 1, 2, 3].
Каким будет результат выполнения кода выше?
Anonymous Quiz
5%
Auf!
12%
Arff!
70%
*Walking*
14%
Error
Объяснение:

Т.к. balloon — это экземпляр класса Pitbull, у него всё ещё есть метод walk() родительского класса Dog.
Объяснение:

Функция say() печатает переданный ей текст столько раз, сколько указано во втором аргументе.

Если же не задать это значение вручную, то используется значение по умолчанию, которое в данном случае равняется 2.

Таким образом, текст «Заяц, ты меня слышишь?» печатается один раз, так как это явно задано при вызове функции. А «Слышу » печатается дважды, так как используется значение по умолчанию.

И да, между первым и вторым вызовами нет перехода на новую строку, так как в print() задано, что заканчивается функция символом « » (пробел).