Learning any programming language on your own can be tricky. You can spend a lot of time watching videos and reading books. However, if you don’t put all the concepts you’ve learned into practice, you’re probably wasting your time learning Python, in this case. Therefore, you should get your hands dirty with basic Python projects.
A project will help you put together everything you’ve learned, stay motivated, build a portfolio, challenge yourself, and find ways to tackle problems and solve them with code.
Here, we list some projects that can help you level up your Python code. Projects are listed by difficulty, so beginner and basic Python projects are at the beginning, while advanced projects are at the end of the blog.
1. Rock, Paper, Scissors
Rock, Paper, Scissors is a classic game, we are sure you used to play it a lot as a kid, or maybe you still play it. It is a simple sleight of hand that is generally played between two people, in which each player simultaneously forms one of three forms with their hand. With this basic Python project, you will learn how to implement fundaments like lists, if statements, and inputs.
The objective is to create a system so that a player who decides to play rock beats another player who has chosen the scissors but loses with the one who has played the role, and a game of paper loses against a game of scissors. If you find this project interesting, check out this guide, with the complete Python code for this project.
This is the most basic game you can code in Python. After finishing this project, you can develop more complex games with the Pygame library. Pygame is a cross-platform set of Python modules designed for writing video games; it includes computer graphics and sound libraries.
Some games you can create with Pygame are the following:
- Tic Tac Toe
- Guessing Number
- Quiz Game
2. Bulk File Rename Tool
Suppose you need to rename multiple files in your personal folder using a specific naming pattern. For example, you need to use the format “MM-DD-YY” to the file name, so anyone could easily locate a file. Or let’s say that you have tons and tons of audio files to manage, videos, images, or if you are handling specific projects. Doing that manually can be time-consuming and error-prone. The good news is that you can automate the file renaming process by creating your own bulk file renaming tool with Python.
So you can work on this basic Python project, you must use the OS module. The OS module in Python provides functions for interacting with the operating system. OS comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality. The *os* and *os.path* modules include many functions to interact with the file system.
Here, you’ll find the step by step to work on this project!
3. Automate boring Excel tasks
Excel is everywhere. It is the default application for data analysis in the workplace, for better or for worse. You may have to do many boring tasks in your day to day, which leave you thinking, “there must be a better way.” And yes, Python is the way!
This basic Python project aims to use code to perform Excel tasks, such as making a pivot table, plotting a chart, applying Excel formulas, and formatting the report sheet. After you finish writing your code, you just have to run the script to create a report.
Some tasks you can automate with Python are:
- Combining Multiple Excel Files
- Getting Values from Various Workbooks
- Applying Formulas across Workbooks
To read the complete guide, check out this blog.
4. Creating Graphical User Interfaces (GUI)
Writing Python code is great, but do you know what’s even better? Being able to interact with your code through a graphical user interface so that anyone can test what you have developed.
The Python, Tkinter, PyQt and Kivi libraries will help you create a GUI with buttons, windows and many other widgets that make it easy for users to interact with your application.
The idea of this project is simple: create a GUI of any project that you have already finished. However, you can also create a different project to implement GUI, such as the following:
- Age Calculator App: This app allows users to enter their date of birth, and the app will display their age automatically.
- Calculator: If you’ve ever developed a calculator while learning Python, now is the time to improve the output with a GUI. Get some inspiration from the calculator that comes with your operating system.
- Currency Converter: Create a currency conversion app that allows users to enter the desired value in a currency and return the converted value to the target currency.
5. Movie Recommendation System
Everyone loves movies, regardless of age, gender, race, color, or geographic location. We are all, in some way, connected to each other through this incredible medium. However, what is most interesting is the fact that our choices and combinations are unique in terms of cinematic preferences.
Some people like genre-specific movies, be it suspense, romance, or science fiction, while others focus on the main actors and directors. When we take all of that into account, it is astonishingly difficult to generalize a movie and say that everyone would like it. But with all that said, it is still seen that specific groups of people enjoy similar movies.
A recommendation system is a program that aims to predict the preference of a user towards a specific item. In this case, the recommendation system predicts movies a user would like to watch, given some data. You can use libraries such as Pandas, Numpy, and Scikit-learn to develop a recommendation engine from basic models to content-based and collaborative filtering recommender systems in Python.
To carry out this project, you will need a dataset with movie titles and at least a plot description. You can use this IMDb dataset or this MovieLens dataset for this project. Also, there’s a complete guide on how to make your movie recommendation system in Python in this link.
With these ideas, you can start the basic Python project of your choice! Also, you can follow the following tips:
- Think about what interests you and choose a project that overlaps with your interests to help you with motivation.
- Think about your goals when learning Python, and make sure your project leads you toward those goals.
- Start small. Once you have built a small project, you can expand it or build another.
Now you are ready to go!
Before we go … remember, you can always check our open positions here. We will have vacancies for Python roles very soon!