Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Объяснение:
В этом коде используется метод format() для форматирования строки. Цифры фигурных скобки - это тип синтаксиса строк формата.
Синтаксис {2}, {1}, {0} внутри строки указывает, что в эти позиции должны быть вставлены значения, соответствующие индексам 2, 1 и 0 соответственно.
Воспользуйтесь российским AI-ассистентом разработчика на GitVerse
Разработчики получили доступ к GigaCode — AI-помощнику* для ускорения работы с кодом.
AI-ассистента можно использовать в любой привычной среде разработки: IDE от JetBrains, VSCode, Jupyter. Помощник будет генерировать для вас варианты завершения кода в режиме реального времени, ускоряя и упрощая процесс работы.
GigaCode развивается вместе c сервисом GigaChat. В AI-ассистенте есть нейросетевые модели, которые обучены на больших корпусах исходного кода и специализируются на определенных задачах разработки. А по опыту команд в Сбере, GigaCode может сокращать время для создания кода до 25%.
GigaCode доступен для раннего использования на площадке GitVerse. Это платформа для работы с исходным кодом от СберТеха, где можно размещать проекты с открытым и закрытым кодом, вести совместную разработку и участвовать в жизни комьюнити.
Чтобы получить доступ к GigaCode, зарегистрируйтесь на GitVerse — проект доступен всем желающим.
*AI, artificial intelligence — искусственный интеллект
Реклама
Объяснение:
Данный код вызывает ошибку деления на ноль (ZeroDivisionError) внутри вложенного обработчика исключений. Эта ошибка перехватывается, но затем снова вызывается, чтобы внешний обработчик исключений мог обработать её по-другому, но этого не происходит из-за break.
Таким образом, в выводе мы увидим только результат выполнения блока finally, который выполняется при любых условиях.
Объяснение:
Код выше создаёт пустой словарь a
, затем присваивает ключам значения 1
и 2
соответственно. После этого значение первого ключа увеличивается ещё на 1
, становясь равным 2
. Далее, в цикле for происходит обход всех ключей словаря a
, при этом значения, соответствующие этим ключам, складываются в переменную count, и в результате мы видим 4
Объяснение:
В Python при умножении списка
(list
) на ноль или отрицательное число, исходный список становится равен пустому
Объяснение:
Оператор or
в Python возвращает первое истинное значение из предложенных. В данном случае это выражение: a == b
.
Оно возвращает True
, потому как множества обладают рядом правил:
— Неупорядоченность элементов: порядок не имеет значения.
— Уникальность элементов: множество не может содержать повторяющиеся элементы, дубликаты автоматически удаляются.
Что должно быть в идеальной клавиатуре?
Может быть, подсветка горячих клавиш? Или звуковые эффекты в случае компиляции проекта с первого раза? Опишите её в комментариях.
А пока вы думаете, Яндекс уже создал свой вариант клавиатуры для айтишников. Каждая её клавиша знакомит с докладами главной конференции Яндекса для IT-сообщества, которая прошла в декабре 2023 года.
Переходите по ссылке, нажимайте на клавиши и узнавайте самое важное из выступлений спикеров на YaTalks 2023.
Реклама
Объяснение:
В коде выше мы используем генератор списков для создания списка, в котором каждый элемент представляет кортеж, содержащий слово в верхнем регистре и его длину. Таким образом, первый вариант был правильным
Объяснение:
Некоторые встроенные функции, вроде min(), divmod() и all(), вызывают ошибку при отсутствии аргументов. Однако существуют и те, что никак не реагируют на отсутствие аргументов, например, float(). В результате такого вызова мы лишь получим 0.0
Объяснение:
Третий ответ был правильным, потому как в переменной l3
мы создаём новый список, где каждый элемент получается путём сложения соответствующих элементов из списков l1
и l2
. Это достигается с помощью функции zip()
, которая объединяет элементы из двух списков в пары, а генератор списка в свою очередь складывает элементы из каждой пары
Объяснение:
В диапазоне range(len(x)) мы находим количество символов строки 'abcd'. Соответственно по завершению цикла на выходе у нас будут числа — 0 1 2 3
Объяснение:
Метод insert
в Python нужен для того, чтобы добавить новый элемент в любое место списка. Метод принимает два параметра:
1) индекс по которому будет вставлен элемент;
2) сам элемент.
Посему изначально наш список состоял из 3 элементов. Но Insert()
добавил элемент 5 по индексу 2, перемещая 10 по индексу 3, и получился список [True, 50, 5, 10]. Логическое значение True
имеет целое значение 1, поэтому сумма стала 1 + 50 + 5 + 10 = 66
Объяснение:
В силу того, что уникальность ключей в Python проверяется с помощью оператора ==
, 2.0 и 2 являются одинковыми, хотя и имеют разный тип данных
А это значит, что в нашем словаре первый ключ повторяется дважды. Так делать нельзя, в словаре все ключи должны быть уникальны — иначе питон просто перезапишет первое значение вторым, и в словаре вместо этих двух элементов останется один
Но если вам нужно использовать одинаковые ключи для разных элементов, то вам стоит использовать не словарь, а другую структуру данных
В дополнении к сказанному выше, можем порекомендовать этот ресурс для более глубокого изучения данной темы
Что отличает опытного Python-разработчика от новичка?
Навык легко находить ошибки в коде? А может, умение подбирать оптимальное решение для любой задачи? Ну уж нет!
Настоящий знаток Python — тот, кто может распознать фреймворк или функцию всего лишь по нескольким эмодзи. Проверьте, насколько вы хорошо знаете язык в тесте КРОК!
Реклама
Объяснение:
Декораторы позволяют динамически изменять поведение функций и классов с помощью добавления или изменения их функциональности без изменения самого кода.
Декораторы — один из самых полезных инструментов в Python, однако новичкам они могут показаться непонятными, но в этом однозначно стоит разобраться
Объяснение:
Метод isdisjoint()
возвращает значение True
, если два множества не имеют между собой общих элементов. В противном случае возвращается False
.
Мы также можем передавать итерации, такие как список, кортеж, словарь или строку. В этом случае isdisjoint()
сначала преобразует итерации в множества. А затем происходит проверка, не являются ли они непересекающимися.
Объяснение:
Оператор *
в Python можно использовать для распаковки итерируемых объектов. В этом примере мы указываем Python распаковать три целых числа (0 - 2) в набор. Таким образом и получаем {1, 2, 3}
Объяснение:
Мы получим TypeError, так как 14,8 воспринимается НЕ как число с плавающей точкой, а как кортеж из двух значений. Вместо ,
надо было использовать .
Объяснение:frozenset
является НЕизменяемым и хешируемым множеством, его содержимое не может быть изменено после его создания. Таким образом первый ответ был правильным.
Объяснение:
Код выше создаёт пустой список result
, а затем проходит циклом по числам от 1 до 10, добавляя в него элементы. Если число чётное, цикл переходит к следующей итерации с помощью continue
. Если число делится на 5 без остатка, в список добавляется строка "Buzz"
. Таким образов в результате мы увидим список [1, 3, 'Buzz', 7, 9]
Объяснение:
Встроенная функция pow(base, exp, mod)
может принимать два или три аргумента. Когда она принимает два, они оцениваются как base**exp
. А когда их три, то (base**exp)%mod.
Исходя из этого правильным вариантом был — (5**3)%4
Объяснение:
Функция wrapper
является декоратором, который определяет внутреннюю функцию inner
inner
вызывает переданную в wrapper функцию func
, но явным образом ничего не возвращает, поэтому в выводе мы получаем None
Объяснение:my_lst.extend()
принимает итерируемый объект. Отсюда следует, что если передать методу строку, то он пройдёт по всей строке и добавит в список каждую букву по отдельности, как отдельный элемент
Поэтому наш lst = ["hello", "w", "o", "r", "l", "d"]
, а lst[1] = "w"
Объяснение:reversed(a)
позволяет пройтись по объекту в обратном порядке. То есть в нашем случае — 3, 2, 1. Но это итератор, а значит пройтись по нему можно только 1 раз. Если попробовать получить значения второй раз, просто ничего не вернёт. При вызове мы получим sorted([3, 2, 1]) == sorted([])
и, понятное дело, это False.
Объяснение:
Функция filter()
в Python применяет другую функцию к заданному итерируемому объекту (список, строка, словарь и т. д.), проверяя, нужно ли сохранить конкретный элемент или нет. Простыми словами, она отфильтровывает то, что не проходит и возвращает все остальное.filter()
принимает два параметра. Первый — имя созданной пользователем функции, а второй — итерируемый объект.
Пример смотрите на картинке!
Объяснение:
В данном коде используется генератор списка, который создаёт список только для чётных чисел и умножает их на 2. Числа 2 и 4 являются чётными, поэтому при их умножении мы получим [4, 8]
Объяснение:
Python предоставляет несколько способов получения списка установленных модулей, но в данном случае правильным ответом был pip list
Это может быть полезно при настройке рабочего окружения, анализе зависимостей проекта или при необходимости обновления определённых модулей
Объяснение:
Метод capitalize()
возвращает строку с первым символом в верхнем регистре, при этом все остальные символы будут находиться в нижнем регистре
Объяснение:
Признавайтесь, кто засомневался
Ответ, на самом деле, очевиден — для создания пустого кортежа мы спокойно можем использовать пустые скобки
Объяснение:
Вложенные функции — это функции, определенные внутри других функций. Они могут быть использованы для повышения структурированности кода, инкапсуляции и реализации декораторов
Здесь функция inner_fun
вызывается внутри outer_fun
, прямо в его return