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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
Anonymous Quiz
3%
a=6 b=9
70%
a=16 b=19
21%
a=6 b=16
6%
a=9 b=19
Объяснение:

Если вы прочитаете PEP 572, который определяет выражения присваивания, вы увидите раздел " Исключительные случаи", в котором есть пример, похожий на тот, что приведен в этой викторине. Они называют этот синтаксис "допустимым, но не рекомендуемым". И это хорошо характеризует данный код.

Зато это может помочь нам понять, как работают выражения присваивания. Для этого мы выполнили данный код по частям (см картинку). При первом выводе REPL сообщает нам, что мы создали кортеж (6, 9), который был немедленно отброшен), и во время создания кортежа переменной a было присвоено значение 6.

При запуске второго выражения мы снова видим, что был создан кортеж, на этот раз со значениями из a, 16 и 19. Значение 16 было присвоено b оператором walrus, значение 19 было отброшено.

Так и получилось, что 3 ответ был правильным :)
Какой символ используется для перехода на новую строку?
Anonymous Quiz
47%
/n
1%
/t
2%
\r
51%
\n
Объяснение:

В Python в строках можно применять управляющие символы. Они ДОЛЖНЫ начинаться с «бэкслеша» \.

Вот несколько примеров:
\n — переход на новую строку;
\t — табуляция;
\r — возврат каретки в начало строки;
\b — возврат каретки на один символ.
Какое исключение будет выброшено, если попытаться изменить кортеж после его создания?
Anonymous Quiz
18%
ValueError
56%
TypeError
20%
AttributeError
7%
IndexError
Объяснение:

Кортежи в Python являются неизменяемыми и любая попытка изменить их после создания приведёт к выбросу исключения TypeError
Каким будет результат выполнения кода выше?
Anonymous Quiz
29%
5 10 15
48%
5 15 30
3%
0 5 10
19%
Error
Объяснение:

func() возвращает функцию another_func(), которая имеет доступ к переменной total из внешней функции

В данном случае каждый вызов counter увеличивает total на переданное значение, а последовательные вызовы counter(5), counter(10) и counter(15) приводят к значениям 5, 15 и 30 соответственно
Каким будет результат выполнения кода выше?
Anonymous Quiz
76%
1
7%
2
9%
0
9%
Error
Объяснение:

Как мы знаем, булевые значения в Python являются подклассами int и соответствуют целым числам.

True = 1

False = 0


Таким образом, получается следующее выражение — 1 + 1 + 0 - 1 = 1
Каким будет результат выполнения кода выше?
Anonymous Quiz
15%
6
37%
7
43%
12
5%
0
Объяснение:

Сначала создается список nums с элементами от 0 до 5. Затем, с помощью среза nums[:] создается копия этого списка, и добавляется в конец оригинального списка методом append.

В результате, список nums содержит 7 элементов - 6 оригинальных элементов плюс копия самого себя в виде вложенного списка. Поэтому при выводе мы получим 7.
Каким будет результат выполнения кода выше?
Anonymous Quiz
11%
{1: 'Charles', 2: 'Babbage'}
47%
1 2
24%
'Charles', 'Babbage'
18%
1, 'Charles', 2, 'Babbage'
Кому не подходит DevOps

Одна из распространенных ошибок начинающих —  рассматривать DevOps исключительно как профессию. На самом деле DevOps представляет собой философию и методологический подход к разработке программного обеспечения.

Если вы хотите попробовать себя в этой сфере, предлагаем ознакомиться со статьей Дмитрия Сорокина, технического директора компании-разработчика инфраструктурного ПО “Базис”.

В ней объясняется:
— происхождение термина "DevOps";
— суть методологии;
— круг обязанностей DevOps-инженера;
— и бонусом: кому данная профессия, скорее всего, не подойдет.

#карьера
Объяснение:

Если прописать один оператор * для распаковки словаря. То Python вернёт значения состоящее из ключей этого словаря. В данном случае 1 2