Задачи по Python

Каждому изучающему Python нужно писать код для закрепления. Вашему вниманию предлагаются несколько задач для реализации (не слишком простых (кроме первой) и не слишком сложных).
Для выполнения заданий крайне рекомендуется пройти самоучитель.
Также для этих задач есть репозиторий с тестами и моими решениями (чтобы проверить себя).
Для запуска тестов для вашей функции проще всего будет добавить код из папки с тестами в конец файла с функцией.
А теперь, собственно, задачи:
Простейшие арифметические операции (1)
Написать функцию arithmetic, принимающую 3 аргумента: первые 2 — числа, третий — операция, которая должна быть произведена над ними. Если третий аргумент +, сложить их; если —, то вычесть; * — умножить; / — разделить (первое на второе). В остальных случаях вернуть строку «Неизвестная операция«.
Високосный год (2)
Написать функцию is_year_leap, принимающую 1 аргумент — год, и возвращающую True, если год високосный, и False иначе.
Квадрат (3)
Написать функцию square, принимающую 1 аргумент — сторону квадрата, и возвращающую 3 значения (с помощью кортежа): периметр квадрата, площадь квадрата и диагональ квадрата.
Времена года (4)
Написать функцию season, принимающую 1 аргумент — номер месяца (от 1 до 12), и возвращающую время года, которому этот месяц принадлежит (зима, весна, лето или осень).
Банковский вклад (5)
Пользователь делает вклад в размере a рублей сроком на years лет под 10% годовых (каждый год размер его вклада увеличивается на 10%. Эти деньги прибавляются к сумме вклада, и на них в следующем году тоже будут проценты).
Написать функцию bank, принимающая аргументы a и years, и возвращающую сумму, которая будет на счету пользователя.
Простые числа (6)
Написать функцию is_prime, принимающую 1 аргумент — число от 0 до 1000, и возвращающую True, если оно простое, и False — иначе.
Правильная дата (7)
Написать функцию date, принимающую 3 аргумента — день, месяц и год. Вернуть True, если такая дата есть в нашем календаре, и False иначе.
XOR-шифрование (8)
Написать функцию XOR_cipher, принимающая 2 аргумента: строку, которую нужно зашифровать, и ключ шифрования, которая возвращает строку, зашифрованную путем применения функции XOR (^) над символами строки с ключом. Написать также функцию XOR_uncipher, которая по зашифрованной строке и ключу восстанавливает исходную строку.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Где брать задачи на python?
Изучаю python по книге М. Саммерфилд "Программирование на Python 3" и прохожу курс на Stepic. Мне безумно нравится в степике то, что после каждого материала мне дают задание по типу "напишите алгоритм, который принимает числа, считает их, и, когда пользователь нажмёт ноль, выводит результат (это задача к циклу while).
Знаю, что они для вас элементарны, но они интересны и помогают закрепить материал. Но курс скоро подойдёт к концу, материала, который надо изучить ещё ого-го.
Есть ли книга/сайт, где будет сборник задач по каждой книге?
- Вопрос задан более трёх лет назад
- 52864 просмотра
16 лучших сайтов уроков и заданий по Python в 2023 года
В данной подборке собрали, наверно, все тренажеры и сайты с заданиями по языку программированию Python.
По нашему мнению, многие из них не хуже, а даже лучше некоторых платных курсов по основам программирования на этом языке.
- Тренажер по Python от Каталог-курсов.ру Онлайн тренажер с блоками теории и практическими заданиями по Python внутри тренажера. Бесплатный сертификат о прохождении выдается после окончания курса. Количество уроков: 55 Формат: интерактивный самоучитель Язык: русский
- Тренажер “Learnpython” Сборник коротких и эффективных уроков и упражнений по Python для начинающих. Формат: интерактивный самоучитель Язык: английский
- Тренажер “CodingBat“ Сборник упражнений по Python и справочных материалов как для новичков, так и для опытных специалистов. Формат: интерактивный задачник Язык: английский
- Тренажер “Codechick” Сборник практических заданий по Python, отсортированных по уровню сложности. Формат: интерактивный задачник Язык: русский
- Тренажер “ITVDN” Интерактивный тренажер по Python для специалистов разного уровня подготовки с заданиями, за прохождение которых получаешь баллы. Формат: интерактивный задачник Количество задач: 52 Язык: русский
- Тренажер “CodinGame” Платформа по изучению Python в игровой форме, проходя уровни с разными игровыми сценариями. Формат: игровой тренажер Язык: английский
- Тренажер “Exercism” Практические задачи на Python для начинающих и опытных разработчиков. Формат: интерактивный задачник Язык: английский
- Тренажер “Codebra” Практические уроки по изучению Python для начинающих разработчиков. Формат: интерактивный самоучитель Язык: русский
- Тренажер “Codewars” Сборник реальных задач и проблем по Python, которые можно решать совместно. Формат: интерактивный задачник Язык: английский
- Тренажер “PythonTutor” Интерактивный тренажер по Python с большим количеством задач. Формат: интерактивный самоучитель Язык: русский
- Тренажер “freeCodecamp” Крупная платформа по изучению программирования на Python с теорией и практическими заданиями. Формат: интерактивный самоучитель Язык: английский
- Тренажер “Datacamp” Интерактивный уроки по Python в видео формате с практическими упражнениями и тестами. Формат: интерактивный самоучитель Язык: английский
- Тренажер “Адаптивный тренажер Python” Сборник разнообразных практических задач на Python от Stepik, которые подбираются индивидуально под каждого студента, учитывая уровень его знаний. Формат: интерактивный самоучитель Количество уроков: 53 Язык: русский
- Тренажер “Edabit” Практические задачи на Python для начинающих и опытных разработчиков. Формат: интерактивный задачник Язык: английский
- Тренажер “Code-basics” Платформа для изучения основ Python с нуля, который построен на чередовании небольших частей теории и практических заданий. Формат: интерактивный самоучитель Количество уроков: 70 Язык: русский
- Тренажер “Python Challenge” Платформа по изучению языка Python в игровом формате. Для прохождения уровней нужно решать задания. Формат: игровой тренажер Количество задач: 33 Язык: английский
Python – один из наиболее простых для освоения с нуля языков программирования, разработанный для написания сценариев (скриптов). Востребован практически в любой сфере деятельности и позволяет значительно повысить эффективность работы. Может работать практически на всех операционных системах и используется в таких сферах, как анализ и визуализация данных, web-разработка, автоматизация и автоматизированное обучение, создание ботов и многих других.
Где практиковаться начинающему разработчику

После освоения основ любого языка программирования необходимо как можно больше практиковаться. Это поможет закрепить полученные знания и запомнить конструкции языка. Один из способов — решение задач. Такой подход заставляет использовать все возможности изученной технологии и думать над оптимальным алгоритмом решения.

«IT-специалист с нуля» наш лучший курс для старта в IT
Проект Эйлера
Проект Эйлера — сайт с математическими задачами по программированию, основанный в 2001 году. Задачи разделяются по уровню сложности, всего их более 800 штук. Для решения начинающим разработчикам необходимо вспомнить школьную математику, а в некоторых случаях — даже университетскую программу. Решать задачи можно на любом удобном языке программирования.
Профессия / 14 месяцев
Java-разработчик
Освойте востребованный язык
3 933 ₽/мес 7 150 ₽/мес

w3resource
W3resource предлагает пользователям подробные обучающие материалы и задачи по технологиям веб-разработки. В сервисе есть встроенный редактор кода, чтобы решать задачи в браузере. Можно отточить знания JavaScript, Python, HTML, CSS, SQL, PHP и Java.
Codewars

Сервис с задачами на 45+ языках программирования. Пользователям доступны практические задания на закрепление основ, паттернов и алгоритмов. В Codewars есть внутренняя система рангов, которая помогает выбирать задачи подходящего уровня. Ранг повышается при каждом правильном решении. Доступен как общий уровень пользователя, так и уровень владения каждым языком программирования.
Сборник задач CppStudio
Онлайн-сборник задач на языке C++. На сайте доступны задачи 5 уровней сложности на знание основ программирования и умение пользоваться алгоритмами. Условия задач не подстроены под особенности С++, поэтому решение можно реализовать на любом удобном языке.
CheckIO

Браузерная игра, мотивирующая решать задачи с помощью инструментов геймификации. Проходить испытания можно с помощью Python или TypeScript. Сложность возрастает по мере приближения к последним уровням, а если пройти регистрацию, то можно сохранить прогресс и вернуться к решению задач позже. Спонсор и партнер проекта — компания JetBrains.
LeetCode

Сервис с алгоритмическими задачами, которые помогут подготовиться к собеседованию. Задачи охватывают все аспекты разработки, включая базы данных, алгоритмы, теорию графов, структуры данных и динамическое программирование. Кроме задач доступны обучающие планы, чтобы освоить тему с нуля.
HackerRank

HackerRank проводит для разработчиков онлайн-соревнования, которые спонсируют мировые IT-компании. Если хорошо зарекомендовать себя и показать свои навыки, то можно получить приглашение на стажировку. Также призовые места в соревнованиях HackerRank могут стать хорошим достижением для резюме.
Codecombat

Браузерная стратегия, для игры в которую понадобятся навыки программирования. На выбор доступны Python и JavaScript. Сервис создан для детей, но подойдет и начинающим разработчикам старшего возраста. Также есть режим для преподавателей, позволяющий организовать совместную работу во время занятий.
CodeAbbey
Сервис с более чем 300 задачами. Часть из них доступна на русском языке, а за решение 125 задач можно получить сертификат. Также на сайте есть форум с активными участниками сообщества, которые могут помочь с решением.
Ruby Quiz
Сборник головоломок на языке Ruby. Решения задач описаны с учетом особенностей Ruby, но условия позволяют использовать любой язык программирования.

Станьте Java-разработчиком
и создавайте сложные сервисы
на востребованном языке
Rosalind
В Rosalind собраны задачи для разработчиков в области биоинформатики. Сервис подойдет далеко не всем, так как охватывает узкую область знаний. Разработчики Rosalind рекомендуют использовать головоломки из списка для закрепления изученных ранее тем.
CodingBat
Сборник задач на Java и Python. С помощью сервиса пользователи могут освоить основы и особенности этих языков программирования. Доступны как легкие задачи на знание синтаксиса, так и более сложные, заставляющие разобраться со структурами данных и логикой.
Читайте также Где взять опыт в Java-программировании: 10 идей для тренировочных проектов
UVa Online Judge
Сборник сложных задач олимпиадного программирования, требующих глубоких знаний не только синтаксиса, но и алгоритмов. Решение необходимо оптимизировать по скорости выполнения кода и потребляемой памяти.
Школа программиста
Сервис с задачами для школьных олимпиад. Но его часто используют для преподавания на младших курсах университетов. Большой сборник включает головоломки разного уровня, требующие глубоких знаний информатики. На сайте есть автоматическая проверка решений и форум поддержки.
Codechef
Платформа для соревнований программистов, которые проводят несколько раз в месяц. К ним можно готовиться с помощью коллекции задач. В некоторых соревнованиях можно участвовать только командой. Codechef регулярно разыгрывает денежные призы, а на сайте есть внутренний рейтинг пользователей.
Codingame

Браузерный квест, который можно пройти с помощью решения задач. Управлять игровым процессом можно с помощью написания кода, а на выбор доступно более 20 языков программирования. Также на сайте есть геймифицированный сервис для проверки навыков во время собеседований.
Exercism

Exercism предоставляет пользователям доступ к большому количеству головоломок на разных языках программирования. В списке есть как популярные, так и редкие языки. Все задачи построены на реальных ситуациях из жизни. Так новички могут лучше понять условия. Кроме задач на сайте есть образовательные программы для самостоятельного обучения.
InterviewBit

Сервис для подготовки к собеседованиям в мировые IT-компании. На сайте есть сложные задачи на знание алгоритмов и особенностей синтаксиса, теоретические вопросы и советы для подготовки. Сервис содержит более 800 задач по различным направлениям разработки.
SQL EX
Русскоязычный сборник задач для изучения SQL и баз данных. На сайте есть внутренний рейтинг пользователей, а после прохождения экзамена можно получить сертификат, подтверждающий уровень знаний.
Питонтьютор
Сайт для практики языка программирования Python на русском языке. В сервис встроен редактор кода, поэтому можно решать задачи в браузере. Для каждой задачи есть альтернативные способы решения, которые помогут найти наиболее лаконичный способ.
Python-разработчик
Освойте Python с нуля. Подготовим к трудоустройству: дадим много практики, реальные проекты для портфолио, поможем с резюме. Лучшие студенты пройдут стажировки в проектах компаний-партнеров.