⚡️ Задачка с собеседования | #Medium
Условие:
Вам необходимо найти самый длинный префикс среди полученного списка строк. Строки состоят только из английских букв в нижнем регистре.
Примеры:
longest_prefix(['flower', 'flow', 'flight']) -> 'fl'
longest_prefix(['car', 'cir']) -> 'c'
longest_prefix(['sol', 'ution']) -> ''
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам необходимо найти самый длинный префикс среди полученного списка строк. Строки состоят только из английских букв в нижнем регистре.
Примеры:
longest_prefix(['flower', 'flow', 'flight']) -> 'fl'
longest_prefix(['car', 'cir']) -> 'c'
longest_prefix(['sol', 'ution']) -> ''
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Файлы конфигурации
Вряд ли клиент захочет лезть в код, чтобы поменять порт сервера, поэтому многие программисты создают файлы конфигурации. Работать с ними можно с помощью модуля configparser.
Брать информацию можно используя квадратные скобки или, лучше, методом
Если вы изменили какие-то данные и хотите их сохранить, впишите метод
#миниурок #configparser
Вряд ли клиент захочет лезть в код, чтобы поменять порт сервера, поэтому многие программисты создают файлы конфигурации. Работать с ними можно с помощью модуля configparser.
ConfigParser()
— основной класс для работы с конфигами. Его можно оставить так, а можно загрузить данные, используя метод read(filename)
, который принимает имя файла.Брать информацию можно используя квадратные скобки или, лучше, методом
get(key, default=None)
.Если вы изменили какие-то данные и хотите их сохранить, впишите метод
write(file)
, который принимает IO файл.#миниурок #configparser
Что выведет код выше?
Anonymous Quiz
45%
0 1 2 3 в одну строку
19%
0 1 2 3 в несколько строк
11%
1 2 3 4 в одну строку
17%
Ошибку
8%
Узнать ответ
Data Science — это про настоящее.
Алгоритмы Google уже помогают врачам на 9,4% точнее определять болезни. Беспилотники от Waymo сами передвигаются по дорогам, а нейронные сети вычисляют преступников в толпе.
Это востребовано. В 2015-м технологии Big Data использовали только 17% компаний. В 2020-м — уже 55%.
Это увлекательно. Тут нет рутинных задач. Вы будете работать на стыке IT и аналитики: предсказывать события и прогнозировать рост прибыли на основе данных.
Это перспективно. По данным HH, в России 600+ компаний ищут дата-сайентистов, включая Сбербанк, Яндекс и «Тинькофф».
Data Science реально изучить. Стать специалистом по анализу данных и machine learning можно на курсе «Профессия Data Scientist PRO» от Skillbox.
Каждый, кто купит в ноябре курс, который участвует в ЧП, получит три скидки от партнеров:
• Asus — скидка 10% на ноутбуки.
• Литрес — 25% на все книги + 2 книги в подарок из подборки.
• Clinique — скидка 40% на все, кроме новогодних коллекций.
Переходите: https://clc.to/3TPK5w и приобретайте курс со скидкой до 60%
Алгоритмы Google уже помогают врачам на 9,4% точнее определять болезни. Беспилотники от Waymo сами передвигаются по дорогам, а нейронные сети вычисляют преступников в толпе.
Это востребовано. В 2015-м технологии Big Data использовали только 17% компаний. В 2020-м — уже 55%.
Это увлекательно. Тут нет рутинных задач. Вы будете работать на стыке IT и аналитики: предсказывать события и прогнозировать рост прибыли на основе данных.
Это перспективно. По данным HH, в России 600+ компаний ищут дата-сайентистов, включая Сбербанк, Яндекс и «Тинькофф».
Data Science реально изучить. Стать специалистом по анализу данных и machine learning можно на курсе «Профессия Data Scientist PRO» от Skillbox.
Каждый, кто купит в ноябре курс, который участвует в ЧП, получит три скидки от партнеров:
• Asus — скидка 10% на ноутбуки.
• Литрес — 25% на все книги + 2 книги в подарок из подборки.
• Clinique — скидка 40% на все, кроме новогодних коллекций.
Переходите: https://clc.to/3TPK5w и приобретайте курс со скидкой до 60%
⚡️ Аннотация типов. Часть 1
Поскольку Python — это язык с динамической типизацией, то не всегда программа может просчитать, что будет на входе функции.
Тогда на помощь приходит аннотация, говорящая, что на вход должен прийти вот такой тип.
И оно никак не влияет на работу программы, как понятно из примера выше. Оно несёт смысл только для программистов и IDE.
Создаются они с помощью ":" после имени переменной. А возвращаемое значение функции — с помощью "->" в конце её определения.
Если вам стало интересно, можете посетить страницу документации.
#теория
Поскольку Python — это язык с динамической типизацией, то не всегда программа может просчитать, что будет на входе функции.
Тогда на помощь приходит аннотация, говорящая, что на вход должен прийти вот такой тип.
И оно никак не влияет на работу программы, как понятно из примера выше. Оно несёт смысл только для программистов и IDE.
Создаются они с помощью ":" после имени переменной. А возвращаемое значение функции — с помощью "->" в конце её определения.
Если вам стало интересно, можете посетить страницу документации.
#теория
⚡️ Задачка с собеседования | #Medium
Условие:
Вам необходимо узнать, какой тип аннотирован у переменной. На вход идёт строка с определением переменной, на выход — строка-тип. Будут использоваться самые примитивные типы (str, int, float). Если тип не определён, возвращает None.
Примеры:
get_annotation("a: str = 'b: int = 1'") -> 'str'
get_annotation('a: int') -> 'int'
get_annotation("a = 'b: int = 1'") -> None
get_annotation('a = 1') -> None
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам необходимо узнать, какой тип аннотирован у переменной. На вход идёт строка с определением переменной, на выход — строка-тип. Будут использоваться самые примитивные типы (str, int, float). Если тип не определён, возвращает None.
Примеры:
get_annotation("a: str = 'b: int = 1'") -> 'str'
get_annotation('a: int') -> 'int'
get_annotation("a = 'b: int = 1'") -> None
get_annotation('a = 1') -> None
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Универсальный инструмент, пользу которого оценит любой участник этого канала.
В какой бы сфере IT вы ни были заняты, потребность в быстром, удобном, а главное, в большинстве своем, бесплатном графическом редакторе рано или поздно возникает у всех.
Один из наиболее подходящих по всем вышеперечисленным критериям сервис - это Canva. Если вы еще не пробовали его в действии, пришло время это исправить!
👉 Во-первых канва - это универсально. Вы сможете нарисовать логотип, баннер, персональную визитку, смонтровать рекламное видео для сторис или выбрать подходящее вашему контенту бесплатное стоковое фото - все, для любой сферы вашей деятельности в одном месте.
👉 Во-вторых, не обязательно ничего скачивать или платить за подписку. Все самые необходимые инструменты доступны бесплатно в веб-версии. А еще есть удобный софт для телефона, ноутбука или планшета, на любой ОС.
👉 В-третьих, не нужно быть графическим дизайнером, чтобы начать работу. Все редактирование очень интуитивно, на базе интерфейса drag-n-drop.
А еще любой проект можно сохранить и вернуться к нему в любое удобное время, с любого другого устройства. Отличная новость для тех, кто ценит мобильность и свое время.
Хотите попробовать? Переходите по ссылке — https://fas.st/KB401
В какой бы сфере IT вы ни были заняты, потребность в быстром, удобном, а главное, в большинстве своем, бесплатном графическом редакторе рано или поздно возникает у всех.
Один из наиболее подходящих по всем вышеперечисленным критериям сервис - это Canva. Если вы еще не пробовали его в действии, пришло время это исправить!
👉 Во-первых канва - это универсально. Вы сможете нарисовать логотип, баннер, персональную визитку, смонтровать рекламное видео для сторис или выбрать подходящее вашему контенту бесплатное стоковое фото - все, для любой сферы вашей деятельности в одном месте.
👉 Во-вторых, не обязательно ничего скачивать или платить за подписку. Все самые необходимые инструменты доступны бесплатно в веб-версии. А еще есть удобный софт для телефона, ноутбука или планшета, на любой ОС.
👉 В-третьих, не нужно быть графическим дизайнером, чтобы начать работу. Все редактирование очень интуитивно, на базе интерфейса drag-n-drop.
А еще любой проект можно сохранить и вернуться к нему в любое удобное время, с любого другого устройства. Отличная новость для тех, кто ценит мобильность и свое время.
Хотите попробовать? Переходите по ссылке — https://fas.st/KB401
Что выведет этот код?
Anonymous Quiz
5%
- 1 0 1
3%
- 1 1 2
9%
1 2 -1
39%
0 1 -1
35%
Ошибку
8%
Узнать ответ
⚡️ Работаем с архивами
Если вам необходимо считать данные с zip архива, то можете воспользоваться модулем zipfile.
Поскольку модуль работает с файловой системой, его необходимо закрывать, используя
Если вам необходимо считать данные с zip архива, то можете воспользоваться модулем zipfile.
ZipFile(file, mode='r')
— открывает архив для чтения/записи (зависит от mode). После этого вы можете проводить с ним такие операции:ZipFile.open(name, mode='r')— позволяет открыть файл внутри архива.
ZipFile.extractall(path=None)
— извлекает все файлы и папки в директорию path.Поскольку модуль работает с файловой системой, его необходимо закрывать, используя
close()
или оператор with
.⚡️ Задачка с собеседования | #Medium
Условие:
Вам необходимо вернуть индекс первой уникальной буквы в строке. В данном случае производительность в приоритете. Если символ не найден, возвращаем -1.
Примеры:
unique_char('python') -> 0
unique_char('pythonTop') -> 1
unique_char('aabb') -> -1
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам необходимо вернуть индекс первой уникальной буквы в строке. В данном случае производительность в приоритете. Если символ не найден, возвращаем -1.
Примеры:
unique_char('python') -> 0
unique_char('pythonTop') -> 1
unique_char('aabb') -> -1
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Встроенные функции в Python
Если вы хоть раз писали hello world, значит ими точно пользовались. Но print — не единственная встроенная функция. Их, приблизительно, 71 штука.
Вряд ли получится уместить все функции в одну статью, да и необходимости в этом нет, если всё можно найти в документации.
#теория
Если вы хоть раз писали hello world, значит ими точно пользовались. Но print — не единственная встроенная функция. Их, приблизительно, 71 штука.
float()
, int()
, list()
, set()
, str()
, tuple()
, dict()
— основные типы в Python: список, строка, кортеж, словарь.max()
, min()
, abs()
— возвращают максимальное, минимальное число из списка. А последняя функция — абсолютное число.zip()
, enumerate()
, reversed()
— три отличных помощника при работе с циклами.Вряд ли получится уместить все функции в одну статью, да и необходимости в этом нет, если всё можно найти в документации.
#теория
Что выведет код выше?
Anonymous Quiz
37%
{('a', 2), ('b', 1)}
26%
{'a': 2, 'b': 1}
7%
{2: 'a', 1: 'b'}
19%
Ошибку
11%
Узнать ответ
⚡️ Классы, хранящие данные
Если вы писали какие-либо системы, то вам точно было необходимо передавать данные между ними в классах. Чтобы упростить создание таких классов, разработчики придумали dataclass.
Это декоратор, переопределяющий
Как видно из примера выше, Point не имеет никаких методов для инициализации или вывода, но они переопределены. Это напоминает структуры из си-подобных языков.
Если вам стало интересно, можете почитать подробнее в документации.
#миниурок #dataclass
Если вы писали какие-либо системы, то вам точно было необходимо передавать данные между ними в классах. Чтобы упростить создание таких классов, разработчики придумали dataclass.
Это декоратор, переопределяющий
__init__
, __repr__
и другие, на основе переменных, определённых внутри класса.Как видно из примера выше, Point не имеет никаких методов для инициализации или вывода, но они переопределены. Это напоминает структуры из си-подобных языков.
Если вам стало интересно, можете почитать подробнее в документации.
#миниурок #dataclass
⚡️ Задачка с собеседования | #Easy
Условие:
Вам необходимо сделать красивый и читаемый вывод телефона. На вход идёт строка с номером, а возвращает функция номер в таком формате: (000) 000 0000
Примеры:
format_phone('0000000000') -> '(000) 000 0000'
format_phone('8005553535') -> '(800) 555 3535'
format_phone('1234567890') -> '(123) 456 7890'
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам необходимо сделать красивый и читаемый вывод телефона. На вход идёт строка с номером, а возвращает функция номер в таком формате: (000) 000 0000
Примеры:
format_phone('0000000000') -> '(000) 000 0000'
format_phone('8005553535') -> '(800) 555 3535'
format_phone('1234567890') -> '(123) 456 7890'
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования