Pythonist.ru - образование по питону
25.2K subscribers
109 photos
1 video
942 links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Книги
3. Задачи на логику
4. Проект Эйлера
5. Видео
6. Тесты по Python 3

@aldrson
Download Telegram
Задача для новичков

Напишите функцию find_added_letter(s, t), которая приниает на вход две строки: s и t. Строка t генерируется путем случайной перетасовки строки s, а затем добавляется еще одна буква в случайную позицию. Верните букву, которая была добавлена к строке t.

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

# Функция, которая находит добавленную букву
def find_added_letter(s, t):
count = {}

for char in t:
if char in count:
count[char] += 1
else:
count[char] = 1

for char in s:
count[char] -= 1
if count[char] == 0:
del count[char]

return list(count.keys())[0]

# Тесты для функции find_added_letter(s, t)
def test_find_added_letter():
assert find_added_letter("abcd", "abcde") == "e"
assert find_added_letter("", "y") == "y"
assert find_added_letter("hello", "heoll") == "l"
assert find_added_letter("abc", "acb") == "b"
assert find_added_letter("xy", "xyz") == "z"


#задача #coding
Основы. Как проверить существование файла с помощью Python

В Python проверка существования файла перед попыткой его использования является обычной задачей, особенно если вы программно выполняете файловые операции, такие как чтение или запись данных в большом количестве файлов.

В этой статье мы рассмотрим три эффективных метода проверить, существует ли файл. Все они подходят для различных сценариев и стилей программирования.

#основы
Хотите прокачать свои скиллы в Python? Расширить навыки работы с FastAPI и научиться интегрировать серверную часть с веб-интерфейсом?

Ждем вас на практическом открытом уроке от OTUS, где вы научитесь использовать Jinja-шаблоны для создания HTML-страниц в FastAPI-приложениях. На вебинаре разберём:

— FastAPI и его возможности;
— основы Jinja-шаблонов: синтаксис, переменные, условия и циклы;
— создание простого веб-приложения;
— интеграцию HTML-страницы в FastAPI-приложение.

Спикер Сурен Хоренян — Senior Python Backend Developer, руководитель группы разработки платформы облачного видеонаблюдения в MTS AI.

🗓 Встречаемся 27 июня в 20:00 мск в преддверии старта курса «Специализация Python Developer». Все участники вебинара получат специальную цену на обучение!

🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cxQS0j

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Топ. Библиотека Pydantic: валидация данных на Python

Pydantic — это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения прочности и надежности вашей кодовой базы. Pydantic может справиться практически с любым сценарием проверки данных с минимальным количеством кода: от проверки, является ли переменная целым числом, до обеспечения правильных типов данных для ключей и значений вложенных словарей.

#топ
Задача с кодом. Число Перрена

В последовательности Перрена каждое число представляет собой сумму двух чисел, стоящих перед этим числом на второй и третьей позиции. Первые три числа последовательности — 3, 0, 2.

Выглядит последовательность так:

P(0) P(1) P(2) P(3) P(4) P(5) P(6) P(7) ... P(n)
3, 0, 2, 3, 2, 5, 5, 7, ...

Напишите функцию, которая будет принимать индекс числа в последовательности (n) и возвращать число Перрена под этим индексом — P(n).

Примеры:

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Tips & Tricks. Цикл for в Python: тонкости написания

В этой статье:

- выводим индекс и значение одновременно
- избавляемся от вложенных циклов с помощью функции product
- используем модуль Itertools.

#tipsandtricks
Задача на логику. День рождения матери

Кэрол собирает информацию для своего фамильного древа. Так вышло, что она не знает дату рождения своей матери. Единственная зацепка, которую она нашла, — письмо ее дедушки к бабушке, которое он написал, когда родилась мать Кэрол. К сожалению, некоторые буквы стерлись (вместо них будут символы подчеркивания, причем количество этих символов никак не связано с количеством пропавших букв).

«Дорогая Вирджиния! Мог ли я знать, уходя на работу утром этого чудесного понедельника, что уже к вечеру у нас будет прекрасная дочурка. Да еще и прямо на годовщину нашей свадьбы! Я как сейчас помню тот невероятный выходной день, J___ 27th, 19___, когда мы поклялись друг другу в вечной любви и верности. Поздравляю тебя с нашей восьмой годовщиной, любовь моя! С любовью, Эдвин».

Задание: определите дату рождения матери Кэрол.

Подсказки:
- В основе задачи лежит алгоритм Судного дня.
- Для тех, кто не учил английский: в этом языке на J начинаются три месяца: January, June, July.

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача
Тест. Арифметические операции Python

Арифметические операторы (+, -, /, *, //, **, %) очень часто используются в программировании, и Python не стал исключением.

А как у вас с арифметикой на Python? Пройдите тест из 10 вопросов и проверьте!

#тест
Какую книгу по вашему мнению должен прочитать человек, который начинает изучать Python с нуля?
Задача с кодом. Сумма диапазона чисел

Напишите функцию, которая будет принимать начальное и конечное число в диапазоне чисел и возвращать сумму всех чисел этого диапазона.

Примеры

sum_problem(-10, 1) ➞ -54
sum_problem(-20, 5) ➞ -195
sum_problem(90, 45) ➞ 3105

Решение на нашем сайте.

#задача #coding
Tips & Tricks. Functools: улучшаем функции Python

Экосистема Python очень обширна и включает в себя множество отличных инструментов для решения различных задач программирования. В этой статье мы рассмотрели один из таких инструментов - модуль functools.

Это невероятно мощный модуль, который можно использовать для улучшения практически любой функции в Python.

#tipsandtricks #функции #модули
Задача на логику. Найдите закономерность и подставьте числа вместо вопросительных знаков.

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача
QaLib - канал для скачивания книг по тестированию с самой удобной навигацией и поиском нужной книги.
Наш упор - это нахождение книг на русском языке.

В чем преимущества нашего канала:
1. Все книги поделены на русские и английские по языку издания ru en
2. Удобная навигация по технологиям и фреймворкам pentest python junit и т.д
3. Книги можно скачать в pdf и epub.
4. В шапке канала удобнейшая навигация по книгам.

Подписывайтесь и качайте: @libqa
Машинное обучение. NaN в Python

В мире науки о данных и аналитики встреча с отсутствующими данными — скорее правило, чем исключение. Отсутствующие значения могут исказить анализ, привести к неверным выводам и в целом нарушить ход обработки данных. Устранение таких пробелов имеет решающее значение для сохранения целостности вашего анализа. Цель этой статьи — познакомить вас с различными способами определения значений NaN (Not a Number) в Python.

Книги по ML - @maschinelearning

#ml
Задача для новичков

Напишите функцию is_palindrome(), которая принимает на вход число и проверяет, является ли оно палиндромом. Палиндромом называется число, которое одинаково читается слева направо и справа налево.

Напишите также тесты с использованием pytest, чтобы проверить правильность работы функции на разных входных данных.

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

# is_palindrome.py
def is_palindrome(number):
number_str = str(number)
return number_str == number_str[::-1]

# test_is_palindrome.py
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
Строки. Как обрезать строку в Python

В этой статье мы рассмотрим несколько способов обрезки строк. Будем применять срезы, строковый метод rsplit(), форматирование и метод shorten() из модуля textwrap.

#строки
Задача с кодом. ABACABADABACABA

Напишите функцию, которая будет принимать буквы английского алфавита и возвращать строки, придерживаясь шаблона «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