Про проекты с открытым исходным кодом (OSS)
- Запуск опенсорс-проекта. Узнайте подробнее о мире опенсорса и подготовьте к запуску собственный проект.
- Как правильно оформить проект OSS: https://kentcdodds.com/blog/first-timers-only
- OSS на Python: https://github.com/MunGell/awesome-for-beginners#python
- https://github.com/topics/good-first-issue
- https://firstcontributions.github.io/
- https://github.com/topics/hacktoberfest?l=python
Идеи проекта Python: начальный уровень
- Создайте генератор кода.
Это может принимать текст в качестве входных данных, заменять каждую букву другой буквой и выводить "закодированное" сообщение.
- Создайте калькулятор обратного отсчета.
Напишите код, который может принимать две даты в качестве входных данных, а затем вычислять время между ними. Это отличный способ познакомиться с модулем даты в Python.
- Напишите метод сортировки.
Учитывая список, можете ли вы написать код, который сортирует его в алфавитном или числовом порядке? Да, Python имеет встроенную функциональность, но посмотрите, сможете ли вы сделать это без использования sort()
- Создайте интерактивную викторину.
Какой ты Мститель? Создайте викторину о личности или рекомендации, которая задает пользователям несколько вопросов, сохраняет их ответы, а затем выполняет какие-то вычисления, чтобы предоставить пользователю персонализированный результат на основе их ответов.
- Крестики-нолики по тексту.
Создайте игру "Крестики-нолики", в которую можно играть как в текстовое приключение. Можете ли вы заставить его печатать текстовое представление доски после каждого хода?
- Сделайте преобразователь температуры/измерения.
Напишите сценарий, который может конвертировать градусы Фаренгейта в градусы Цельсия и обратно, дюймы в сантиметры и обратно и т. д. Как далеко вы сможете зайти?
- Создайте игру на угадывание чисел.
Думайте об этом как о текстовом приключении, но с цифрами. Как далеко вы можете зайти?
- Построить будильник.
Это пограничный начальный/средний уровень, но стоит попробовать сделать будильник для себя. Можно ли создавать разные будильники? Функция повтора?
- Генератор паролей.
Создайте безопасный генератор паролей (https://www.101computing.net/random-password-generator/) на Python.
- Создайте адресную книгу.
Это может начаться с простого словаря Python или стать чем-то вроде этого (https://code-projects.org/address-book-in-python-with-source-code/).
- Обработка фотографий в проекте Python.
В этом уроке Кайли Ин (https://www.youtube.com/watch?v=8ext9G7xspg&t=7534s) вы узнаете, как создать фильтр изображения и изменить контрастность, яркость и размытие изображений. Перед запуском проекта вам необходимо скачать стартовые файлы (https://github.com/kying18/pyphotoshop).
Идеи проекта Python: средний уровень
- Создайте обновленный генератор кода.
Начав с проекта, упомянутого в разделе для начинающих, посмотрите, что вы можете сделать, чтобы сделать его более сложным. Можете ли вы заставить его генерировать различные виды кодов? Можете ли вы создать приложение "декодер", которое читает закодированные сообщения, если пользователь вводит секретный ключ? Можете ли вы создать более сложный код, выходящий за рамки простой замены букв?
- Сделайте свою игру в крестики-нолики кликабельной.
На основе проекта для начинающих создайте версию игры "Крестики-нолики" с реальным пользовательским интерфейсом, который вы будете использовать, нажимая на открытые квадраты. Задача: можете ли вы написать простого противника ИИ, против которого может играть игрок-человек?
- Соберите некоторые данные для анализа.
Это действительно может быть что угодно, с любого веб-сайта, который вам нравится. Интернет полон интересных данных, и если вы немного узнаете о веб-скрейпинге, вы сможете собрать действительно уникальные наборы данных.
- Автоматизируйте часть своей работы.
Это может быть разным, но во многих работах есть повторяющийся процесс, который вы можете автоматизировать!
- Автоматизируйте свои личные привычки.
Вы хотите не забывать вставать каждый час во время работы? Как насчет написания кода, который генерирует уникальные планы тренировок на основе ваших целей и предпочтений? Существует множество простых приложений, которые вы можете создать для себя, чтобы автоматизировать или улучшить различные аспекты своей жизни.
- Напишите приложение для заметок.
Создайте приложение, которое поможет людям писать и хранить заметки. Можете ли вы придумать какие-нибудь интересные и уникальные функции, которые можно добавить?
- Создайте систему уведомлений об обновлении сайта.
Вы когда-нибудь раздражались, когда вам приходилось обновлять веб-сайт, чтобы увидеть, был ли повторно выставлен товар, которого нет в наличии, или чтобы увидеть, были ли опубликованы какие-либо новости? Напишите скрипт Python, который автоматически проверяет заданный URL-адрес на наличие обновлений и информирует вас об их обнаружении. (Однако будьте осторожны, чтобы не перегрузить серверы любого сайта, который вы проверяете — соблюдайте разумный интервал времени между каждой проверкой).
- Воссоздайте свою любимую настольную игру на Python.
Насколько близко вы можете подобраться к оригиналу?
- Создайте обозреватель Википедии.
Создайте приложение, которое отображает случайную страницу Википедии. Проблема здесь в деталях: можете ли вы добавить выбранные пользователем категории? Это может показаться простым, но на самом деле это может потребовать серьезных навыков веб-скрейпинга.
- Тетрис.
В этом уроке вы узнаете, как воссоздать классическую игру "Тетрис". Этот проект использует Pygame и отлично подходит для начинающих разработчиков, чтобы поднять свои навыки на новый уровень.
- Многопользовательская онлайн-игра.
В этом руководстве (https://www.youtube.com/watch?v=XGf2GcyHPhc&t=15732s) вы узнаете, как создать многопользовательскую онлайн-игру, в которую вы сможете играть с кем угодно по всему миру. Этот проект — отличное введение в работу с сокетами, сетью и Pygame.
- Программа веб-скрейпинга.
В этом руководстве (https://www.youtube.com/watch?v=SqvVm3QiQVk&t=37s) вы узнаете, как запрашивать пользовательский ввод для ссылки пользователя GitHub и выводить ссылку на изображение профиля с помощью веб-скрейпинга. Веб-скрапинг — это метод, который собирает данные с веб-страницы.
- Массовое переименование файлов.
В этом руководстве (https://www.youtube.com/watch?v=SqvVm3QiQVk&t=833s) вы узнаете, как создать программу, которая может открывать любую папку на вашем компьютере и переименовывать все файлы в соответствии с условиями, установленными в вашем коде Python.
- Программа для работы с погодой.
В этом руководстве (https://www.youtube.com/watch?v=SqvVm3QiQVk&t=1494s) вы узнаете, как создать программу, которая собирает пользовательские данные в определенном месте и выводит сведения о погоде в указанном месте. Это отличный проект, чтобы начать изучать, как получать данные из API.
- Космические захватчики.
В этом руководстве (https://www.youtube.com/watch?v=FfWpgLFMI7w) вы узнаете, как создать игру космических захватчиков с помощью Pygame. Вы узнаете множество основ разработки игр, таких как игровые циклы, обнаружение столкновений, события нажатия клавиш и многое другое.
Проекты Python для разработчиков игр
- Камень, ножницы, бумага (https://thehelloworldprogram.com/python/python-game-rock-paper-scissors/). Начните свое путешествие по изучению Python с простой, но увлекательной игры, которую знают все.
- Создание текстовой приключенческой игры (https://coding-grace-guide.readthedocs.io/en/latest/guide/lessonplans/beginners-python-text-based-adventure.html) — это классический проект Python для начинающих, который научит вас многим основным концепциям настройки игры, которые будут полезны для более продвинутых игр.
- Игра в угадайку (https://djangocentral.com/creating-a-guessing-game-in-python/) — это еще один проект для начинающих, который поможет вам изучить и попрактиковаться в основах.
- Змейка (https://www.edureka.co/blog/snake-game-with-pygame/). Это немного сложнее, но это классическая (и на удивление забавная) игра, в которую можно играть и играть.
Дополнительно
- 30 простых и забавных проектов Python с исходным кодом: https://hackr.io/blog/python-projects
- 13 идей проекта для разработчиков Python среднего уровня: https://realpython.com/intermediate-python-project-ideas/
- Проекты Python, которые вы можете создать: https://realpython.com/tutorials/projects/
- Top 43 Python Projects to Master Most Demanding Programming Language of 2021: https://techvidvan.com/tutorials/python-projects/
Студенческие проекты прошлых лет
- Реализация бота, играющего в шашки: https://github.com/DanyaNewSkater/checkers_with_dmitriy
- Подбор блюд и рецептов по ингредиентам: https://github.com/Eidzhioff/Second-semester-project-python-
- Реализация оконного приложения для чтения иностранных книг: https://github.com/ReginaBaigubekova/Project
- Реализация программы-помощника для эффективного менеджмента задач: https://github.com/JeFFich/Project
- Приложение для анализа книг на английском языке: https://github.com/Spyke09/EnglishBooksAnalysis
- Финансовый анализатор (помощник по трейдингу): https://github.com/dzbarts/Financial-Analyser
- Приложение mp3 плеера для прослушивания аудио файлов: https://github.com/ordenarion/mp3-player
- Графический редактор — Visualist: https://github.com/AM-DreamTeam/graphic_editor
- Календарь для отслеживания приема лекарств: https://github.com/BalashovaMaria/calendar
- Приложение для получения инфомации об акциях российских компаний: https://github.com/Valianchick/Project_2_Semestr
- Приложение для подсчета ккал и бжу: https://github.com/vvoroby/project-2-semester
- Приложение анализа акций крупных компаний и подбора наиболее выгодных предложений: https://github.com/MariVoronina/Project
- Химический калькулятор: https://github.com/rina-golubeva/ChemicalCalculator
- Энциклопедия главных тел солнечной системы: https://github.com/hellagod/StarrySky
- Приложение-менеджер задач: https://github.com/JeFFich/Project
- Приложение для подбора блюд и рецептов по ингредиентам: https://github.com/Eidzhioff/Second-semester-project-python-
- Cоставление расписания с учётом запросов на смену: https://github.com/ReginaBaigubekova/Project-2
- Выбор места отдыха, по заданным параметрам: https://github.com/BalashovaMaria/3sem
- Рекомендация подбора одежды исходя из погоды: https://github.com/vvoroby/project-3-semester
- Покупка коттеджей с учетом заданных параметров: https://github.com/MariVoronina/Project-2
- Работа с системой рекомендаций на основе рекомендации книг.
Произвести покупку авто с учетом заданных параметров: https://github.com/rina-golubeva/BookRecommendation
- Формирование зарплатного предложения кандидату исходя из квалификации: https://github.com/izelin50/skill_salaries
- Работа с системой рекомендаций на основе рекомендации книг: https://github.com/rina-golubeva/BookRecommendation
- Анализатор стихотворений: https://github.com/hellagod/poem_analyzer
- Планирование похода на почту исходя из загруженности: https://github.com/JeFFich/PythonProject2
- Покупка квартиры с учетом заданных параметров: https://github.com/Eidzhioff/Third-semester-project
- Система рекомендаций кинофильмов: https://github.com/tlum1/movie_recommend_system
- Программа, выдающая самый выгодный для покупок магазин в вашем раойне: https://github.com/Khlopotnoy-Romadov/beneficial_shop
Проекты Python + Cи
- A module for Python in C that solves some dynamic programming problems: https://github.com/endygamedev/dynamic-programming
- Презентация: https://endygamedev.github.io/dynamic-programming/
- Модуль для работы с датафреймами на Си (аналог pandas): https://github.com/Spyke09/Data-processing-and-analysis