ru
Feedback
Python: задачки и вопросы

Python: задачки и вопросы

Открыть в Telegram

Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media

Больше
6 948
Подписчики
-324 часа
-167 дней
-6430 дней
Архив постов
Объяснение: Функция enumerate() в Python — это эффективный инструмент для циклов, создающий пары, состоящие из счётчика и эле
Объяснение: Функция enumerate() в Python — это эффективный инструмент для циклов, создающий пары, состоящие из счётчика и элементов итерируемого объекта. Эти пары упакованы в кортежи. Пример:
for i, v in enumerate(['a', 'b', 'c']):
    print(i, v)   
Код выше выведет:
0 a
1 b
2 c 
С помощью enumerate() можно начинать отсчёт с любого числа, поэтому в какой то мере последний ответ тоже являлся правильным. Достаточно передать вторым аргументом нужное вам число для начала отсчёта. Пример:
for i, v in enumerate(['a', 'b', 'c'], start=1):
    print(i, v)  
Код выше выведет:
1 a
2 b
3 c

Что делает функция enumerate()?
Anonymous voting

Что делает функция enumerate()?
Anonymous voting

Объяснение: Здесь мы создаём список из чётных чисел от 0 до 8 при помощи генератора списка и условия if i % 2 == 0 Затем извлекается последний элемент из данного списка и его значение присваивается переменной res. Т.к. последний элемент списка — число 8, то и результатом выполнения этого кода будет число 8

Каким будет результат выполнения кода выше?
Anonymous voting

Объяснение: Оператор walrus или как его ещё называют моржовый оператор (:=), позволяет присвоить значение переменной внутри выражения. В данном случае, выражение внутри скобок присваивает список [1, 2, 3] переменной x. Метод extend добавляет все элементы из переданного списка в конец исходного списка. Таким образом, исходный список [1, 2, 3] удваивается, и получается [1, 2, 3, 1, 2, 3] Важно: Синтаксис (x := [1, 2, 3]).extend(x) является допустимым, но не рекомендуемым согласно PEP 572 – Assignment Expressions, так как он может быть неинтуитивным и сложным для понимания. В комментариях можете поделиться своими вариантами написания данного кода, чтобы он был более понятным

Каким будет результат выполнения кода выше?
Anonymous voting

Объяснение: re является частью стандартной библиотеки и ее можно импортировать с помощью: import re.

Какой модуль Python поддерживает регулярные выражения?
Anonymous voting

Объяснение: Функция в текущем виде не является корректной Для того чтобы функция не вызывала ошибок, можно сделать одно из следующих действий: Добавить docstring:
def function():
    """Это функция"""
Добавить любую инструкцию, например, print:
def function():
    print

Добавить pass:
def function():
    pass

Использовать многоточие (...) для указания на незавершённую функцию:
def function():
    ...
Все эти варианты являются корректными способами создания пустой функции в Python, которая не вызовет ошибок.

Чем можно заменить комментарий в теле функции, чтобы использовать минимум кода и избежать ошибок?
Anonymous voting

Объяснение: Всё так, and имеет наименьший приоритет среди всех перечисленных в задании операторов
Объяснение: Всё так, and имеет наименьший приоритет среди всех перечисленных в задании операторов

Какой из следующих операторов имеет наименьший приоритет?
Anonymous voting

Объяснение: Код выглядит запутанным из-за того, что изменяется список array, который использует генератор. Ключ к пониманию этого кода: — Цикл for использует первоначальный список array = [21, 49, 15]. — Условие if использует новый список array = [0, 49, 88]. Причина такого поведения заключается в поздней привязке (late binding) условного выражения. Это означает, что условие внутри генератора оценивается в момент обращения к элементу генератора, а не в момент его создания. Если немного модифицировать код, можно увидеть, что происходит:
array = [21, 49, 15]
gen = ((x, print(x, array)) for x in array)
array = [0, 49, 88]
При выполнении этого кода вывод будет следующим:
21 [0, 49, 88]
49 [0, 49, 88]
15 [0, 49, 88]
Этот вывод показывает, что цикл for итерирует по исходному списку [21, 49, 15], в то время как условие if проверяет элементы уже нового списка [0, 49, 88]. Единственным числом, которое присутствует в обоих списках, является 49, поэтому условие array.count(x) > 0 истинно лишь для этого числа, и итоговый результат будет [49].

Каким будет результат выполнения кода выше?
Anonymous voting

Объяснение: Целые числа имеют магические методы, которые можно вызвать, например, метод умножения __mul__. В данном примере, multipliers["microbit"](6) эквивалентно умножению 5 на 6, потому что значением ключа "microbit" является 5. Однако надо учитывать, что если написать число непосредственно перед точкой, Python интерпретирует это как число с плавающей точкой. Поэтому необходимо использовать пробел перед вызовом метода. Дополнительно можете глянуть этот видос, где автор продемонстрировал работу таких магических методов, как — add, sub, mul, truediv