9 amazing Python project ideas for beginners to practice your skills

Duomly - Jul 10 '20 - - Dev Community

This article was originally published at https://www.blog.duomly.com/python-project-ideas-for-beginners/


Intro to Python project ideas for beginners

Everyone who has ever learned anything knows that practice really matters. That's why, when you are learning a programming language, it's essential to train it by building projects. 

Besides that, when you practice your coding skills, you can create the projects that you can add to your coding portfolio on Github and show it when you will be looking for a job.

If you don't know how to start your portfolio on Github, I did a video about it a few months ago, which you can check.

It's not easy to find the perfect ideas for the projects you'd like to create with a certain programming language. 

In previous weeks, I was publishing the small series with project ideas for front-end technologies like:

Today, I decided to move to a different technology that is very often selected as one of the easiest programming languages to learn - Python. 

That's why I'd like to share with you 9 Python project ideas for beginners that you can do to practice Python, and create a fantastic coding portfolio and get hired.

If you don't feel entirely comfortable with Python yet, check out our Python course.

As always, if you are the one who prefers to watch instead of reading, visit us on our Youtube channel where you will find a video version of this article.

Let's start!

Python project ideas for beginners - additional information

As always, I'd like to bring here some additional things that may be important in writing code in selected technology. 

For coding in Python, you can use one of the general code editors like Visual Studio Code or Atom, or you can select the one that is specific for Python and which makes things easier. In my opinion, a great one is Spyder, which is free, and the other one that is worth mentioning is PyCharm, but this one is paid.

If you'd like to investigate the code editors for Python more, take a look at the Python code editors ranking, that we have on our blog.

Besides the code editors, it's handy to pay some attention to Python's external libraries. Python is suitable for different projects, like web development, data science, or machine learning, for each of those, there are different frameworks you can use.
Here's the list of top Python libraries that are worth to get familiar with:

Django - a framework for building a complex, data-driven websites;
Flask - micro-web framework, that helps to build an APIs and supports unit testing;
NumPy - library that helps to perform mathematical and logical operations in Python; 
Pandas - library that provides data structures and data analysis tools;
Matplotlib - a library that allows creating 2D graphs and plots with Python scripts;
CherryPy - a library that provides the CRUD functionality for apps;

I think those are the most important information you need to know about Python.

Let's discover 9 Python project ideas for beginners that you can do to practice your skills!

1. Dice rolling

The first project idea that comes to my mind as first is a simple dice-rolling application. For this purpose, you need to generate a random number that will be the result of dice rolling.  

You could use the random module, for that purpose. The random number should be generated from the range between a minimum value and the maximum value. 

This kind of app should consist of a few lines of code, and if you'd like to practice more, you can also connect it with a beautiful front-end application.

2. Rock - Paper - Scissors Game

Idea number two is a well-known game Rock-Paper-Scissors. I guess that most of us had played in it at least once. 

In this project, you'd use the random module as well, as you need to randomize the computer choice.

You should start by creating a list of choices that would consist of three words: paper, rock, scissors.

Then you need to define user and computer values. The computer will have the randomly generated value from the options defined initially, and the user will put the value as an input. Then you need to create the if…else statement, which will determine who won and why.

3. Password Generator

Do you know this pain when you have to create some difficult, random password for a newly created account?

If yes, the third project idea I'd like to suggest you can also be helpful in real life. The third project on this list is a password generator.

Using the random module and Python strings, you can generate the password that would consist of characters, digits, and punctuation with the selected length.

4. Simple chatbot

The next idea for practicing Python skills is something really cool because you can build a simple chatbot without very advanced skills.

For this purpose, you can use the chatterbot and chatterbot_corps plugin. You need to create the bot and train it with the given data. 
If you don't know how to start and create this kind of code, you can check out the tutorial we've got on our blog to take you through building the chatbot step by step.

5. Simple image recognition

Another project idea with Python, connected more with machine learning is simple image recognition. 

To create a simple image recognition and convolutional neural network, you'd need to go through the following steps: 

  • importing modules like Keras
  • load the data that will be used to train your model,
  • transform the data
  • create a model and train it 
  • test it!

If you need some help with this kind of project, take a look at the article about the image recognition in Python that you can find in our blog.

6. Registration Form with Django

The sixth project idea I've prepared for you is about using Python in web development. At this point, I'd like to suggest you create a registration form with Django. 

The project idea is about building the template of a registration form, and logic for it. For the registration you should you the Django authentication system, you can also try to connect the database.

This kind of project can be a great start for the more significant Django project.  

7. Web scrapper

In the previous article, about NodeJS projects idea, I suggested creating a web scrapping application with NodeJS. Today, I'd like to suggest you the same project, but with Python. 

You could also use the Beautiful Soup Python package for parsing HTML and XML. 

In this project, you would learn how to scrape and parse data to get the required result. 

8. Text Summary App

The eight ideas for the Python project is a Text Summary App. This application would take the article or the book as an input and return the text summary.

After passing the input, you need to split it into the sentences and remove the stop words. Next, you have to generate rank based on the matrix and select the best sentences for the summary.

In this summary, you could use the following plugins: nltk, numpy, and networkx. 

9. Random Profiles Generator

When you are creating a new application, you need to test it very often, and you need some random data, for example, for user profiles testing. 

As the last Python project idea, I'd like to suggest you build a random profiles generator. 

For this purpose, you'd again use the random module, and you'd need to create and return all the required date as one element. The data would be randomly taken from the bigger set f that you need to generate.

Conclusion

In this article, we went through 9 Python project ideas for beginners that you can create to practice your skills and build a portfolio that can help you to get hired.

Besides that, I've introduced you to some Python code editors that you could use and some frameworks and libraries that would help you build Python projects quickly and easily.

If you have any other ideas for Python projects, let us know in the comments, and if you decide to create any of it, remember to show it for us!

Duomly - Programming Online Courses

Thank you for reading,
Anna from Duomly

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .