⚡️ Задачка с собеседования | #Medium, #Hard
Условие:
Ваша задача — написать функцию, которая принимает два аргумента: список и число. Ваша задача — самым быстрым путём найти в списке 2 числа, которые в сумме будут вторым аргументом. Функция возвращает список с индексами этих цифр.
Входные данные всегда будут правильные, всегда будет только одно решение.
Пример:
two_sum([2, 7, 11, 15], 9) -> [0, 1]
two_sum([3, 2, 4], 6) -> [1, 2]
two_sum([0, 4, 3, 0], 0) -> [0, 3]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая принимает два аргумента: список и число. Ваша задача — самым быстрым путём найти в списке 2 числа, которые в сумме будут вторым аргументом. Функция возвращает список с индексами этих цифр.
Входные данные всегда будут правильные, всегда будет только одно решение.
Пример:
two_sum([2, 7, 11, 15], 9) -> [0, 1]
two_sum([3, 2, 4], 6) -> [1, 2]
two_sum([0, 4, 3, 0], 0) -> [0, 3]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Какой у вас уровень в программировании?
Anonymous Poll
77%
Только учусь
17%
Junior
4%
Middle
2%
Senior
Канал, который научит тебя писать действительно качественный код!
На канале Clean Code публикуются рекомендации по написанию и улучшению кода, обзоры распространенных ошибок, инструменты и литература.
Если ты хочешь начать писать код чище — вступай в клуб профессионалов.
На канале Clean Code публикуются рекомендации по написанию и улучшению кода, обзоры распространенных ошибок, инструменты и литература.
Если ты хочешь начать писать код чище — вступай в клуб профессионалов.
⚡️ Интерактивный интерпретатор IPython
Одной из самых классных вещей в Python является интерактивный интерпретатор, позволяющий тестировать возможности языка. Но порой его функционала может не хватать и на помощь приходит IPython.
Установка:
Например, есть команда %run, которая запускает скрипт, или, %timeit, позволяющая измерить выполнение кода.
О возможностях модуля можно рассказывать долго, он очень сильно упрощает и ускоряет работу в интерпретаторе. Поэтому, советую изучить его поподробнее на сайте документации.
#миниурок #IPython
Одной из самых классных вещей в Python является интерактивный интерпретатор, позволяющий тестировать возможности языка. Но порой его функционала может не хватать и на помощь приходит IPython.
Установка:
pip install ipython
Помимо того, что это тот же самый шелл языка Python, с ним ещё приятнее работать, поскольку в нём есть автозаполнение, подсветка синстаксиса, автоматическая расстановка отступов и собственные функции.Например, есть команда %run, которая запускает скрипт, или, %timeit, позволяющая измерить выполнение кода.
О возможностях модуля можно рассказывать долго, он очень сильно упрощает и ускоряет работу в интерпретаторе. Поэтому, советую изучить его поподробнее на сайте документации.
#миниурок #IPython
⚡️ Делаем подсветку кода
Pygments — модуль, создающий универсальный вывод кода, отлично подходящий для форумов, вики сайтов и хостингов кода.
Установка:
Также модуль может использоваться из командной строки, например:
#миниурок #pygmentize
Pygments — модуль, создающий универсальный вывод кода, отлично подходящий для форумов, вики сайтов и хостингов кода.
Установка:
pip install Pygments
Эта библиотека поддерживает около 500 различных языков и переводит их в HTML, RTF, LaTeX форматы, что позволяет изображать свой код на различных сайтах, не прибегая к изображениям.Также модуль может использоваться из командной строки, например:
pygmentize test.py
. Кроме того, вы можете изменить конфигурации, но об этом подробно написано тут.#миниурок #pygmentize
⚡️ Интерактивный интерпретатор IPython. Часть 2
IPython — гораздо более удобный интерпретатор для шелла Python. О нём и его особенностях мы рассказывали ранее. В этот раз поговорим о его командах:
Знак вопроса (?) после переменной выдаст информацию о ней. Тип, несколько данных относительно объекта и строку документации.
%pip — запускает pip из интерпретатора и выполняет переданные команды.
%run — запускает python файл. Принимает аргументы, расписанные тут.
%autocall — задаёт режим запуска команды. При значении 0 будет выводить функцию как строку, а при 2 — запускать команду с значениями по умолчанию.
Подробнее все команды можно изучить здесь.
#миниурок #IPython
IPython — гораздо более удобный интерпретатор для шелла Python. О нём и его особенностях мы рассказывали ранее. В этот раз поговорим о его командах:
Знак вопроса (?) после переменной выдаст информацию о ней. Тип, несколько данных относительно объекта и строку документации.
%pip — запускает pip из интерпретатора и выполняет переданные команды.
%run — запускает python файл. Принимает аргументы, расписанные тут.
%autocall — задаёт режим запуска команды. При значении 0 будет выводить функцию как строку, а при 2 — запускать команду с значениями по умолчанию.
Подробнее все команды можно изучить здесь.
#миниурок #IPython
⚡️ Задачка с собеседования | #Medium, #Hard
Условие:
Ваша задача — написать функцию, которая перемещает все нули в конец списка. Функция принимает список с набором цифр, а ваша задача — изменить его так, что бы нули оказались в конце списка. Она ничего не возвращает, а лишь меняет полученный список. Порядок ненулевых чисел должен сохранится.
Сложность задачи заключается в том, что бы придумать самое быстрое решение.
Пример:
move_zeroes([0, 1, 0, 3, 12]) -> [1, 3, 12, 0, 0]
move_zeroes([0]) -> [0]
move_zeroes([1, 0, 3, 0, 0, 0, 5]) -> [1, 3, 5, 0, 0, 0, 0]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая перемещает все нули в конец списка. Функция принимает список с набором цифр, а ваша задача — изменить его так, что бы нули оказались в конце списка. Она ничего не возвращает, а лишь меняет полученный список. Порядок ненулевых чисел должен сохранится.
Сложность задачи заключается в том, что бы придумать самое быстрое решение.
Пример:
move_zeroes([0, 1, 0, 3, 12]) -> [1, 3, 12, 0, 0]
move_zeroes([0]) -> [0]
move_zeroes([1, 0, 3, 0, 0, 0, 5]) -> [1, 3, 5, 0, 0, 0, 0]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Отслеживаем изменения в файлах
pyinotify — интересный модуль с открытым исходным кодом, позволяющий отслеживать изменения в файловой системе. Печально, правда, что он работает только на ОС Linux.
Установка:
Попробовать библиотеку можно с помощью команды
#миниурок #pyinotify
pyinotify — интересный модуль с открытым исходным кодом, позволяющий отслеживать изменения в файловой системе. Печально, правда, что он работает только на ОС Linux.
Установка:
pip install pyinotify
Модуль используют функцию ядра Linux (объединённую с версии 2.6.13), называемую inotify. Уведомления из ядра экспортируются в пространство пользователя и позволяют мониторить изменения в файловой системе.Попробовать библиотеку можно с помощью команды
python -m pyinotify ./
. Или же загрузив пример с guthub.#миниурок #pyinotify
Что выведет код выше?
Anonymous Quiz
30%
[0, 'py', 'thon']
33%
[0, 'py', 't', 'h', 'o', 'n']
7%
[0, 'p', 'y', 't', 'h', 'o', 'n']
21%
['py', 'thon']
8%
Узнать ответ
⚡️ Генераторные списки
Генераторные списки — синтаксическая конструкция, позволяющая превращать циклические конструкции в одну строку.
Выглядит она так:
Такое можно проделывать не только со списками, а и с кортежами, множествами, просто заменив квадратные скобки на круглые или фигурные (в зависимости от типа).
Если же скобки убрать, то мы получим обычный генератор, который можно использовать так, как захочется (например с функцией sum).
#теория
Генераторные списки — синтаксическая конструкция, позволяющая превращать циклические конструкции в одну строку.
Выглядит она так:
[expression for member in iterable]
, где expression — значение, которое будет записано в список, member — переменная, в которую записывается результат прохода по циклу и iterable — итерируемый объект, с которым работает конструкция.Такое можно проделывать не только со списками, а и с кортежами, множествами, просто заменив квадратные скобки на круглые или фигурные (в зависимости от типа).
Если же скобки убрать, то мы получим обычный генератор, который можно использовать так, как захочется (например с функцией sum).
#теория
⚡️ Задачка с собеседования | #Medium, #Hard
Условие:
Ваша задача — написать функцию, которая будет проверять, является ли предложение палиндромом. Палиндромом — предложение, которое читается одинаков слева на право и с права на лево.
Пример:
is_palindrome('A man, a plan, a canal: Panama') -> True
is_palindrome('0P') -> False
is_palindrome('a.') -> True
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая будет проверять, является ли предложение палиндромом. Палиндромом — предложение, которое читается одинаков слева на право и с права на лево.
Пример:
is_palindrome('A man, a plan, a canal: Panama') -> True
is_palindrome('0P') -> False
is_palindrome('a.') -> True
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Ускоряем выполнения кода
Для этого нам может пригодится Cython, модуль переводящий код из языка Python в C с минимальным количеством изменений.
Установка:
После — компилируем код с помощью скрипта из второго файла и запускаем его командой
В результате мы получим файл с си кодом. Мы можете открыть интерпретатор python и импортировать функцию test командой
Для этого нам может пригодится Cython, модуль переводящий код из языка Python в C с минимальным количеством изменений.
Установка:
pip install cython
Основное различие между кодом python и cython в том, что cpdef, cdef, def передают название переменных/функций. cpdef используется при создании кода, доступного и из python и из cython, когда cdef доступен только для второго.После — компилируем код с помощью скрипта из второго файла и запускаем его командой
python3 setup.py build_ext --inplace
.В результате мы получим файл с си кодом. Мы можете открыть интерпретатор python и импортировать функцию test командой
from cython_ex import test
#миниурок #cythonЧто выведет код выше?
Anonymous Quiz
12%
False False False
21%
True True True
12%
True True False
46%
False Flase True
9%
Узнать ответ