Our Objective: To provide simple python projects ideas for beginners to learn Python by doing approach.
Python, the language made after the name of the BBC comedy series “Monty Python’s Flying Circus“, is a high-level programming language. The creator, Van Rossum found the name Python to be concise, unusual, and slightly mysterious, so he decided to call the language Python. It is a widely-used, interpreted, and object-oriented programming language with dynamic semantics, which is used for general-purpose programming.
Python was launched in 1992 and it’s built-in a way that it’s easy to write and understand by humans. It is a preferred choice of language for rapid development. Python is one of the most used programming languages on this planet since it is the most versatile language in the programming world and its applications range in various domains. Many big names in the industry like NASA, Netflix, Google, and many others use Python in their core functioning. It is frequently used as a support language in building control and management, testing, and in many other ways.
Since Python is such a stable, flexible, and straightforward programming language, it’s perfect for people who want to dive into the field of programming. And for that reason, there’s no other better way to start than by applying what you learn in theory. A practical approach to any programming language yields more benefits and thus helps you understand the concepts better. If you are a newbie or even an experienced professional, not building projects on your level won’t take you near to your goal of becoming a pythoneer. By pythoneer here, I mean a person who is constantly trying to improve his/her skills and in return makes something useful for personal use as well as contributes back to the community.
Building python projects will not only help in the improvement of your skills but will also open new challenges and opportunities at the same time. Start by making simple python projects first and eventually move on to the more advanced ones. Beginners should learn programming by doing, otherwise, it will only add up to a list of boring stuff. So, in this article, I have explained 11 simple python projects with source code. So without any further delay, let’s get straight into our projects.
Table of Contents
Here’s a List of Our Simple Python Projects
The following list follows no order. But in the coming section, I have divided the projects according to the different stages of a learner. The list contains several projects targeting all types of students.
- Random Password Generator
- QR Code Generator
- Web Scraping
- Text to Handwriting Converter
- Internet Speedtest App
- Image Size Finder
- Image to ASCII Converter
- Weather Application using Tkinter
- YouTube Video Downloader
- GUI Calculator in Tkinter
- WhatsApp Automation using Pywhatkit
Working Approach
We have a list of Python Projects(all with source code). So we have divided them into three broad categories: beginner-friendly, intermediate-level projects, and advanced level projects, mainly targeting people who have developed a good understanding of the core concepts of python, i.e., advanced projects. Although, even the advanced projects mentioned in this article are relatively simple to understand and implement.
Beginner-Friendly Projects
Project 1 – Random Password Generator
Having a strong password is a requirement for every other user on the internet today. Strong passwords are hard to crack and thus give security to the user’s personal information and the account associated. So having a hard-to-guess password also prevents the account from hacking or any malicious activity.
In this project, we aim to build a random password generator using two approaches. Our program in both cases generates a password which is a mix of lowercase letters, uppercase letters, numbers, and also symbols, making it strong enough to prevent any type of hacking.
We are using 2 different approaches for the same, one with the Random module and the other with the random and string module. Both these modules are built-in modules and need no separate installation.
Random Password Generator Using Random Module
- Our first approach is to use the Random module, which is a built-in Python module that is used to generate numbers in random order.
import random characters = ( "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!#$%^&*()?|+" ) amount = int(input("Enter how many passwords you want to generate: ")) length = int(input("Enter the Length of desired password: ")) if amount == 1: {print("Here is your new password")} else: {print("Here is the list of your new passwords")} for pw in range(amount): passwords = " " for i in range(length): passwords += random.choice(characters) print(passwords)
Random Password Generator Using Random and String Module
- Our second approach also uses the Random module, but it also makes use of the String module, which provides many useful constants, classes, and functions to support the standard python string.
import random import string length = int(input("Enter the length of your desired password: ")) lower = string.ascii_lowercase upper = string.ascii_uppercase digits = string.digits symbols = string.punctuation total = lower + upper + digits + symbols temp = random.sample(total, length) pw = "".join(temp) print(pw)
Project 2 – QR Code Generator
QR Code stands for Quick Response code, the quick in the name refers to its instant response. QR codes are capable of storing tons of information. They are a two-dimensional version of the barcode, commonly made up of black and white pixel patterns. Upon scanning, the QR code works instantly to give information to the user.
Developed back in 1994, they are now being used in the majority of sectors and businesses. The frequent and enhanced use of QR codes can be better understood by the following usage areas. They are widely used to encode information like:
- Contact details
- Facebook ids, Instagram ids, and more.
- Youtube links
- Product details
- Link to download an app on the Play Store.
- Scanning QR Codes for Digital Transactions.
- Accessing Wi-Fi by storing encryption details.
QR codes often contain data for a locator, identifier, or tracker that points to a website or application. So we will now learn how we can make our QR Code Generator, which is already being used abundantly. For QR code generation using python, we are going to use a python module called QRcode.
Pre-requisites
Before we proceed further, we need to have this module “qrcode” installed in our local system. Use the conventional method of installing modules in Python using pip.
pip install qrcode[pil]
Below I have shown different ways to try this program out. But the working procedure will remain common in all the methods:
- Simply, import the required module.
- Use the “make” function to convert your link/text to a QR Code and store it in a variable.
- Now save the converted QR code as an image format.
Converting Text To QR Code
import qrcode img = qrcode.make("This is the second project of our Simple Python Projects Article") img.save("newqr.png")
Converting Link To QR Code
import qrcode img = qrcode.make("https://www.google.com/") img.save("newqr2.png")
Source Code- Taking User Input
#importing the required module import qrcode #taking input from the user of what to convert into a QR Code img = input("Enter the text/url that you want to generate QR Code of: ") #using the make function qrcd = qrcode.make(img) #saving the converted qr code as a png image qrcd.save("customqr.png")
Custom QR Code Generator
In the Custom QR Generator, we can customize the color theme, the box size, the border, and a lot more fun things. Here is complete detail on that.
import qrcode img = input("Enter the text/url that you want to generate QR Code of: ") qr= qrcode.QRCode(version=2, box_size=10, border=2) qr.add_data(img) qr.make(fit=True) data= qr.make_image(fill_color = "blue", back_color= "white") data.save("new12.png")
Project 3-Turn Any Image Into ASCII Art
Python is a very fun language. Trying out different python projects as a beginner always makes you more invested in the language. There are so many projects to start with, but I came across a really fun and simple project that you can try in your initial learning days. We are going to make a converter that converts any given image to its corresponding ASCII format. This is a tiny project and hardly takes 5 minutes of your time. But trying and experimenting is always good to be a better learner and eventually a better programmer.
Click here to get the Source Code.
Intermediate Level projects
Project 4- Find Image Size Using Python
In this tutorial, we will be focussing on finding the resolution of any image using Python. We will be solving this problem statement using three different approaches. We are going to use Python’s OpenCV library, pillow library, and its pygame library for this purpose. There are more than these 3 approaches to this problem, but we’re mainly discussing these 3 in this article.
Click here to get the Source Code.
Project 5- Make Your Own Youtube Video Downloader with Python
The article aims to build a Script to make a Youtube video downloader with the help of Python Programming Language. Downloading Youtube videos is not a straightforward task for everyone, but through coding, one can fix this too. Python is a language known for its simplification of tasks. And justifying that only, a few lines of code is all you need.
A library named “Pytube” will be used in this project and downloading youtube videos will become a very easy task. Pytube is a lightweight and independent library, but it is not a native library, so one can install it simply using the pip method, which will be covered shortly.
Click here to get the Source Code.
Project 6- Automate WhatsApp Using Python
Let’s automate WhatsApp Messages using Python: In this short tutorial, I’ll be sharing a very useful python library called “pywhatkit“. We can use pywhatkit for automating our day-to-day tasks like sending a WhatsApp message, opening a YouTube video, converting an image to ASCII art, etc. Automation indeed is a very powerful tool if used for the right purpose. And Python is one such amazing language that has enormous potential to help you automate your tasks. Let’s just begin with our simple yet useful automation tutorial.
Click here to get the Source Code.
Project 7 – Convert Text To Handwritten Notes using Pywhatkit
In this short article, I have one ultimate solution for you all who are in desperate search of some magic to make this work easy. If you are a little aware of programming or even if you aren’t, this will work for you with just a little effort.
I am using Python Programming language. The library that helps in achieving this task is “pywhatkit“. It is a very useful library with many useful and fun features. An extremely straightforward piece of code is required to accomplish such a nerve-wracking task and to save time.
Click here to get the Source Code.
Projects For Advanced Learners
Project 8 – Web Scraping Project
Web Scraping is synonymous with Data Extraction/ Web Harvesting/Web Data Extraction. It is a technique used to extract a large amount of data from websites or web applications. Usually, the data extracted is in unstructured HTML data. Many tech giants like Facebook, Google provide APIs to access their data in a structured format. Although not all the websites present on the World Wide Web allow scraping. Legally checking whether website data is scrapable or not is a prerequisite before starting your next scraping project.
Web Scraping Procedure
Steps involved in web scraping:
- Get the URL of the webpage you want to scrape using the requests module. Send an HTTP request to access it. The server will respond to the request by returning the HTML content of the accessed webpage.
- Now parse the HTML page data using a reliable parser. Since HTML data is nested, a parser will be required to correctly parse the tree structure of the data. We have used “html. parser” for the same purpose, you can also use html5lib., which is a more advanced one. [Make sure to install html5lib before running your code, to avoid error, type in pip install html5lib]
- Now, all we need to do is navigate and search the parse tree that we created. For this, we will be using Beautiful Soup, which is also a third-party module. It is used to scrape information from web pages.
Source Code
I have used a dummy website that is purposefully made to learn how web scraping works. You can use it too to practice web scraping.
import csv import requests from bs4 import BeautifulSoup #storing our target website's url in a variable req = requests.get("https://webscraper.io/test-sites/e-commerce/allinone") #reading content through html parser soup = BeautifulSoup(req.content, "html.parser") #displaying the html content with proper indentations using prettify print(soup.prettify) # Create an empty list total_products = [] # Extract and store in the above list products = soup.select("div.thumbnail") for product in products: name = product.select("h4 > a")[0].text.strip() price = product.select("h4.price")[0].text.strip() reviews = product.select("div.ratings")[0].text.strip() total_products.append( { "Name": name, "Price": price, "Reviews": reviews, } ) keys = total_products[0].keys() #writing our extracted result in a csv file with open("output.csv", "w", newline="") as product_file: dict_writer = csv.DictWriter(product_file, keys) dict_writer.writeheader() dict_writer.writerows(total_products)
Project 9- Internet Speedtest App Using Speedtest
Sometimes running the internet speed test becomes so crucial to know the current state of our internet. So we are just going to build the same in this tutorial. We are focusing to create a GUI-based Internet Speedtest Application. The language is of course Python and the libraries we are going to use are Speedtest and Tkinter. Speedtest is a Python library that is used to check the internet bandwidth using speedtest.net.
Click here to get the Source Code
Project 10- Weather App In Python Using Tkinter
We are going to build a Weather App in Python. Since it is a real-time weather application, we will be integrating API. We are going to use the Open Weather Map API to get the temperature and related information based on the location the user enters. Now let us briefly understand how we are going to program our idea:
- We will firstly install and then import our required modules into the working file.
- Then we will create a GUI application based on Tkinter.
- After that, we will define our function to take the input and detect the location and assess the current time of the input location.
- Now that we have the location, the function will move on to our main purpose, which is calling our weather API.
- The API response will get us the temperature, wind, humidity, and pressure record of the entered location.
- And lastly, it will throw an error if the entered location is wrong or misspelled.
Click here to get the Source Code
Project 11- GUI Calculator in Python using Tkinter
In this tutorial, we will build a Graphic User Interface application in Python. The project aims to develop a GUI calculator in Python language using the Tkinter package. Tkinter is one of the most popular Python packages to make GUI applications. Tkinter is not only fast but it is also very easy to work with. That’s why it is the topmost choice when it comes to creating GUI in python.
Applications made in Tkinter may look a little old-school, but one can always take the advanced approach to style it better. The way forward is using Tkinter. Tkinter acts more like the structure and ttk works on the beautification of that structure.
Click here to get the Source Code
So with this, we have come to an end of this article. I hope it helped every reader of this article in finding the right Python Project for himself/herself. I will surely add more projects to this list of simple python projects. Learning Python and practicing/testing your skills at the same time by making simple python projects at your level, will help you in retaining the concepts better. So it is always advisable to get your hands dirty in building projects.
If you found this useful, please share the article. It gives me the motivation to write more useful content.
Let’s get connected on Social Media too:
Thank you for reading the complete article! If you have any queries, please write to us in the comments below.
0 Comments