Топ. Библиотека Pydantic: валидация данных на Python
Pydantic — это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения прочности и надежности вашей кодовой базы. Pydantic может справиться практически с любым сценарием проверки данных с минимальным количеством кода: от проверки, является ли переменная целым числом, до обеспечения правильных типов данных для ключей и значений вложенных словарей.
#топ
Pydantic — это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения прочности и надежности вашей кодовой базы. Pydantic может справиться практически с любым сценарием проверки данных с минимальным количеством кода: от проверки, является ли переменная целым числом, до обеспечения правильных типов данных для ключей и значений вложенных словарей.
#топ
Задача с кодом. Число Перрена
В последовательности Перрена каждое число представляет собой сумму двух чисел, стоящих перед этим числом на второй и третьей позиции. Первые три числа последовательности — 3, 0, 2.
Выглядит последовательность так:
Примеры:
#задача #coding
В последовательности Перрена каждое число представляет собой сумму двух чисел, стоящих перед этим числом на второй и третьей позиции. Первые три числа последовательности — 3, 0, 2.
Выглядит последовательность так:
P(0) P(1) P(2) P(3) P(4) P(5) P(6) P(7) ... P(n)Напишите функцию, которая будет принимать индекс числа в последовательности (n) и возвращать число Перрена под этим индексом — P(n).
3, 0, 2, 3, 2, 5, 5, 7, ...
Примеры:
perrin(1) ➞ 0Решение на нашем сайте.
perrin(8) ➞ 10
perrin(26) ➞ 1497
#задача #coding
Что такое Tabula rasa и зачем это Python-разработчикам?
Узнайте на практическом уроке от OTUS, где мы разберем:
- best practices по настройке окружения для разработки свежего питонячьего проекта;
- всевозможные инструменты и автоматизации, которые могут применяться в таком случае;
- ответы на все возникающие вопросы.
🔥 Спикер Станислав Ступников — руководитель отдела разработки одной из крупнейших социальной сети России и опытный преподаватель.
Встречаемся 3 июля в 20:00 мск в преддверии старта курса «Python Developer. Professional». Все участники вебинара получат специальную цену на обучение!
🔴 Ссылка для регистрации: https://vk.cc/cxTtnx
Узнайте на практическом уроке от OTUS, где мы разберем:
- best practices по настройке окружения для разработки свежего питонячьего проекта;
- всевозможные инструменты и автоматизации, которые могут применяться в таком случае;
- ответы на все возникающие вопросы.
🔥 Спикер Станислав Ступников — руководитель отдела разработки одной из крупнейших социальной сети России и опытный преподаватель.
Встречаемся 3 июля в 20:00 мск в преддверии старта курса «Python Developer. Professional». Все участники вебинара получат специальную цену на обучение!
🔴 Ссылка для регистрации: https://vk.cc/cxTtnx
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Tips & Tricks. Цикл for в Python: тонкости написания
В этой статье:
- выводим индекс и значение одновременно
- избавляемся от вложенных циклов с помощью функции product
- используем модуль Itertools.
#tipsandtricks
В этой статье:
- выводим индекс и значение одновременно
- избавляемся от вложенных циклов с помощью функции product
- используем модуль Itertools.
#tipsandtricks
Задача на логику. День рождения матери
Кэрол собирает информацию для своего фамильного древа. Так вышло, что она не знает дату рождения своей матери. Единственная зацепка, которую она нашла, — письмо ее дедушки к бабушке, которое он написал, когда родилась мать Кэрол. К сожалению, некоторые буквы стерлись (вместо них будут символы подчеркивания, причем количество этих символов никак не связано с количеством пропавших букв).
«Дорогая Вирджиния! Мог ли я знать, уходя на работу утром этого чудесного понедельника, что уже к вечеру у нас будет прекрасная дочурка. Да еще и прямо на годовщину нашей свадьбы! Я как сейчас помню тот невероятный выходной день, J___ 27th, 19___, когда мы поклялись друг другу в вечной любви и верности. Поздравляю тебя с нашей восьмой годовщиной, любовь моя! С любовью, Эдвин».
Задание: определите дату рождения матери Кэрол.
Подсказки:
- В основе задачи лежит алгоритм Судного дня.
- Для тех, кто не учил английский: в этом языке на J начинаются три месяца: January, June, July.
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Кэрол собирает информацию для своего фамильного древа. Так вышло, что она не знает дату рождения своей матери. Единственная зацепка, которую она нашла, — письмо ее дедушки к бабушке, которое он написал, когда родилась мать Кэрол. К сожалению, некоторые буквы стерлись (вместо них будут символы подчеркивания, причем количество этих символов никак не связано с количеством пропавших букв).
«Дорогая Вирджиния! Мог ли я знать, уходя на работу утром этого чудесного понедельника, что уже к вечеру у нас будет прекрасная дочурка. Да еще и прямо на годовщину нашей свадьбы! Я как сейчас помню тот невероятный выходной день, J___ 27th, 19___, когда мы поклялись друг другу в вечной любви и верности. Поздравляю тебя с нашей восьмой годовщиной, любовь моя! С любовью, Эдвин».
Задание: определите дату рождения матери Кэрол.
Подсказки:
- В основе задачи лежит алгоритм Судного дня.
- Для тех, кто не учил английский: в этом языке на J начинаются три месяца: January, June, July.
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Тест. Арифметические операции Python
Арифметические операторы (+, -, /, *, //, **, %) очень часто используются в программировании, и Python не стал исключением.
А как у вас с арифметикой на Python? Пройдите тест из 10 вопросов и проверьте!
#тест
Арифметические операторы (+, -, /, *, //, **, %) очень часто используются в программировании, и Python не стал исключением.
А как у вас с арифметикой на Python? Пройдите тест из 10 вопросов и проверьте!
#тест
Какую книгу по вашему мнению должен прочитать человек, который начинает изучать Python с нуля?
Задача с кодом. Сумма диапазона чисел
Напишите функцию, которая будет принимать начальное и конечное число в диапазоне чисел и возвращать сумму всех чисел этого диапазона.
Примеры
#задача #coding
Напишите функцию, которая будет принимать начальное и конечное число в диапазоне чисел и возвращать сумму всех чисел этого диапазона.
Примеры
sum_problem(-10, 1) ➞ -54Решение на нашем сайте.
sum_problem(-20, 5) ➞ -195
sum_problem(90, 45) ➞ 3105
#задача #coding
Tips & Tricks. Functools: улучшаем функции Python
Экосистема Python очень обширна и включает в себя множество отличных инструментов для решения различных задач программирования. В этой статье мы рассмотрели один из таких инструментов - модуль functools.
Это невероятно мощный модуль, который можно использовать для улучшения практически любой функции в Python.
#tipsandtricks #функции #модули
Экосистема Python очень обширна и включает в себя множество отличных инструментов для решения различных задач программирования. В этой статье мы рассмотрели один из таких инструментов - модуль functools.
Это невероятно мощный модуль, который можно использовать для улучшения практически любой функции в Python.
#tipsandtricks #функции #модули
Задача на логику. Найдите закономерность и подставьте числа вместо вопросительных знаков.
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
QaLib - канал для скачивания книг по тестированию с самой удобной навигацией и поиском нужной книги.
Наш упор - это нахождение книг на русском языке.
В чем преимущества нашего канала:
1. Все книги поделены на русские и английские по языку издания
3. Книги можно скачать в
Подписывайтесь и качайте: @libqa
Наш упор - это нахождение книг на русском языке.
В чем преимущества нашего канала:
1. Все книги поделены на русские и английские по языку издания
ru en
2. Удобная навигация по технологиям и фреймворкам pentest python junit
и т.д3. Книги можно скачать в
pdf и epub.
4. В шапке канала удобнейшая навигация по книгам. Подписывайтесь и качайте: @libqa
Машинное обучение. NaN в Python
В мире науки о данных и аналитики встреча с отсутствующими данными — скорее правило, чем исключение. Отсутствующие значения могут исказить анализ, привести к неверным выводам и в целом нарушить ход обработки данных. Устранение таких пробелов имеет решающее значение для сохранения целостности вашего анализа. Цель этой статьи — познакомить вас с различными способами определения значений NaN (Not a Number) в Python.
Книги по ML - @maschinelearning
#ml
В мире науки о данных и аналитики встреча с отсутствующими данными — скорее правило, чем исключение. Отсутствующие значения могут исказить анализ, привести к неверным выводам и в целом нарушить ход обработки данных. Устранение таких пробелов имеет решающее значение для сохранения целостности вашего анализа. Цель этой статьи — познакомить вас с различными способами определения значений NaN (Not a Number) в Python.
Книги по ML - @maschinelearning
#ml
Задача для новичков
Напишите функцию
Напишите также тесты с использованием
Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Напишите функцию
is_palindrome()
, которая принимает на вход число и проверяет, является ли оно палиндромом. Палиндромом называется число, которое одинаково читается слева направо и справа налево.Напишите также тесты с использованием
pytest
, чтобы проверить правильность работы функции на разных входных данных.Свои варианты пишите в комментариях! Решение - сегодня вечером.
#задача #coding
Ответ к предыдущей задаче для новичков
# is_palindrome.py
#задача #coding
# is_palindrome.py
def is_palindrome(number):# test_is_palindrome.py
number_str = str(number)
return number_str == number_str[::-1]
import pytest
from palindrome import is_palindrome
def test_positive_palindrome():
assert is_palindrome(121) == True
assert is_palindrome(1221) == True
def test_negative_palindrome():
assert is_palindrome(123) == False
assert is_palindrome(12321) == False
def test_single_digit():
assert is_palindrome(9) == True
def test_negative_number():
assert is_palindrome(-121) == False
def test_large_palindrome():
assert is_palindrome(12345678987654321) == True
def test_empty_input():
with pytest.raises(ValueError):
is_palindrome('')
def test_string_input():
with pytest.raises(ValueError):
is_palindrome('hello')
def test_float_input():
with pytest.raises(ValueError):
is_palindrome(12.21)
В этом примере функция is_palindrom()
принимает число, преобразует его в строку и далее сравнивает эту строку с этой же строкой, но записанной в обратном порядке. Если они равны, возвращается True
, в противном случае False
. Тесты проверяют правильность работы функции для различных входных данных.#задача #coding
Задача с кодом. ABACABADABACABA
Напишите функцию, которая будет принимать буквы английского алфавита и возвращать строки, придерживаясь шаблона «ABACABADABACABA».
Суть шаблона в следующем. Все начинается с первой буквы (А). Каждая следующая буква добавляется в центр, а предыдущий паттерн располагается по бокам от нее. Например:
#задача #coding
Напишите функцию, которая будет принимать буквы английского алфавита и возвращать строки, придерживаясь шаблона «ABACABADABACABA».
Суть шаблона в следующем. Все начинается с первой буквы (А). Каждая следующая буква добавляется в центр, а предыдущий паттерн располагается по бокам от нее. Например:
A ➞ **A**Примеры
B ➞ A**B**A
C ➞ ABA**C**ABA
D ➞ ABACABA**D**ABACABA
E ➞ ABACABADABACABA**E**ABACABADABACABA
F ➞ ABACABADABACABAEABACABADABACABA**F**ABACABADABACABAEABACABADABACABA
И так далее
ABA("A") ➞ "A"Решение на нашем сайте.
ABA("B") ➞ "ABA"
ABA("E") ➞ "ABACABADABACABAEABACABADABACABA"
#задача #coding
Tips & Tricks. Как перевернуть строку в Python
Разбираем три способа перевернуть строку: с помощью рекурсии, с помощью среза и с помощью встроенных методов Python.
#tipsandtricks #строки
Разбираем три способа перевернуть строку: с помощью рекурсии, с помощью среза и с помощью встроенных методов Python.
#tipsandtricks #строки
Задача на логику. С кем поехать?
Каспер, Стефан и Януш предложили подвезти вас до дома. Двое из них хотят вас убить. Один — нет. Вам нужно выбрать, с кем поехать (естественно, вы хотите добраться домой живым).
Все трое сделали следующие заявления:
Каспер: Стефан и Януш говорят правду.
Стефан: Если хочешь жить, выбери Каспера или Януша.
Януш: Если хочешь жить, не выбирай Стефана.
Вам известно, что как минимум один из этой троицы всегда врет (и это никак не связано с тем, хочет ли этот человек вас убить).
Кого из троих нужно выбрать?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Каспер, Стефан и Януш предложили подвезти вас до дома. Двое из них хотят вас убить. Один — нет. Вам нужно выбрать, с кем поехать (естественно, вы хотите добраться домой живым).
Все трое сделали следующие заявления:
Каспер: Стефан и Януш говорят правду.
Стефан: Если хочешь жить, выбери Каспера или Януша.
Януш: Если хочешь жить, не выбирай Стефана.
Вам известно, что как минимум один из этой троицы всегда врет (и это никак не связано с тем, хочет ли этот человек вас убить).
Кого из троих нужно выбрать?
Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.
#логическаязадача
Тест. Условия Python
Условия — очень частые конструкции в Python. Практически любая программа представляет собой разные наборы действий, которые нужно выполнить при соблюдении тех или иных условий.
Проверьте, насколько хорошо вам удается работа с условиями: пройдите тест из 10 вопросов!
#тест
Условия — очень частые конструкции в Python. Практически любая программа представляет собой разные наборы действий, которые нужно выполнить при соблюдении тех или иных условий.
Проверьте, насколько хорошо вам удается работа с условиями: пройдите тест из 10 вопросов!
#тест
Задача с кодом. Цифровое расстояние
Напишите функцию, которая будет принимать два целых числа, вычислять модуль их разности и выводить сумму цифр полученного числа. Пример:
- Оба числа всегда будут одинаковой длины.
- Число на позиции num2 будет больше или равно числу на позиции num1.
Примеры
#задача #coding
Напишите функцию, которая будет принимать два целых числа, вычислять модуль их разности и выводить сумму цифр полученного числа. Пример:
digit_distance(234, 489) ➞ 12Примечания:
# |2 - 4| + |3 - 8| + |4 - 9| = 2 + 5 + 5 = 12
- Оба числа всегда будут одинаковой длины.
- Число на позиции num2 будет больше или равно числу на позиции num1.
Примеры
digit_distance(121, 599) ➞ 19Решение на нашем сайте.
digit_distance(12, 12) ➞ 0
digit_distance(10, 20) ➞ 1
#задача #coding