An open-source GitHub repository containing Python project ideas, steps, tips, and code solutions.
This repository is designed to help Python learners at all levels, starting with beginner-friendly projects and gradually progressing to more advanced ones. Each project includes clear instructions and a working code implementation.
-
Ensure have at least Python
3.6
or later (we recommend3.12
or later) installed on your computer. You can do a quick search and download it from a trusted provider for your platform. -
Ensure you have an IDE or a place where you can code and run the Python interpreter.
Tip
We use Visual Studio Code. It's fast, efficient, and has many extensions and customizability options.
These projects are ideal for those new to Python. Each project includes a description, steps to follow, and tips for completing it.
-
Description: Build a simple calculator that performs basic arithmetic operations (
+
,-
,*
,/
). -
Solution: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/1_calculator.py
-
Steps:
- Prompt the user for two numbers and an operator.
- Perform the chosen operation.
- Display the result.
-
Tips:
Tip 1:
Use
input()
to get the user's input. Learn more from here: https://docs.python.org/3/library/functions.html#inputTip 2:
Use
variables
to store the user's input.Tip 3:
Use
conditional
statements to check for valid values, and perform certain operations. Learn more from here: https://www.w3schools.com/python/python_conditions.aspTip 4:
Print out the result using
print()
. Learn more from here: https://docs.python.org/3/library/functions.html#print
-
Description: Build a simple random number generator, where users have to submit their guesses as to what the number is. Accept a range within 10 of the random number.
[0 - 100]
-
Solution: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/2_random_guesser.py
-
Steps:
- Generate a random number within the range
0 - 100
. - Prompt the user for a number input.
- Compare the input to a valid range within 10 of the random number.
- Display the result.
- Generate a random number within the range
-
Tips:
Tip 1:
Use the
random
module to generate a random number within the range.Tip 2:
Use
input()
to prompt the user for input.Tip 3:
Use
conditional
statements to check for valid values within the range of10
. Learn more from here: https://www.w3schools.com/python/python_conditions.aspTip 4:
Print out the result using
print()
. Learn more from here: https://docs.python.org/3/library/functions.html#print
-
Description: Build a simple password generator than can generate custom length passwords, from 8 up to 128 characters. Use uppercase, lowercase, symbols, and numbers.
-
Solution: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/3_password_generator.py
-
Steps:
- Define your password generator's maps or strings.
- Prompt the user for a number
[8 - 128]
input. - Generate the password.
- Display the result.
-
Tips:
Tip 1:
Use the
string
module for character sets like punctuation, letters or special characters.Tip 2:
Use
input()
to prompt the user for input.Tip 3:
Use a
loop
to generate the password up until the given length.Tip 4:
Print out the result using
print()
.
-
Description: Build a simple tip calculator, that calculates the tip based on the total and the desired percentage with splits.
-
Solution: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/4_tip_calculator.py
-
Steps:
- Get the total from the user.
- Get the tip percentage from the user.
- Get the amount of people who should split the bill.
- Calculate the tip.
- Display the result.
-
Tips:
Tip 1:
Get all inputs using
input()
.Tip 2:
Calculate the
tip_amount
,new_total
andsplits_per_person
using basic arithmetic and math.Tip 3:
Print out the result using
print()
.
-
Description: Build a simple temperature converter that converts between Celsius and Fahrenheit.
-
Solution: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/5_temperature_converter.py
-
Steps:
- Define conversion values for each conversion.
- Prompt the user for the unit to convert to, and from.
- Prompt the user for a temperature value.
- Convert.
- Display the result.
-
Tips:
Tip 1:
Use predefined formulas for accurate conversion between units.
Tip 2:
Use
input()
to prompt the user for input.Tip 3:
Print out the result using
print()
.
-
Description: Build a simple palindrome checker.
-
Solution: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/6_palindrome_checker.py
-
Steps:
- Prompt the user for a word.
- Reverse the string.
- Check if it is equal to the original.
- Display the result.
-
Tips:
Tip 1:
Use
input()
for input.Tip 2:
You can easily reverse the string using array manipulation techniques.
[::-1]
Tip 3:
Print out the result using
print()
.
-
Description: Build a simple word counter.
-
Solution: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/7_word_counter.py
-
Steps:
- Prompt the user for a file path (TXT).
- Read the file path.
- Count the words in the read data.
- Display the result.
-
Tips:
Tip 1:
Use
input()
for input.Tip 2:
Read the file using
read operations
(https://www.geeksforgeeks.org/how-to-read-from-a-file-in-python/) in Python.Tip 3:
Count the number of words using
split()
andlen()
.Tip 4:
Print out the result using
print()
.
Note
Working code solutions are in the /Beginner
folder.
These projects are ideal for those with experience in Python. Each project includes a description, steps to follow, and tips for completing it.
-
Description: Build a tic tac toe board, with it's own algorithm for winning and countering player moves.
-
Solution: https://github.com/Infinitode/Python-Projects/blob/main/Intermediate/1_tic_tac_toe.py
-
Steps:
- Create the board (3x3 grid) and other logic (handling invalid moves, etc.)
- Handle player and computer moves, including ties, wins and losses.
- Display the board and start the game.
-
Tips:
Tip 1:
Use functions for repetitive tasks.
Tip 2:
Create an algorithm that not only chooses certain priority positions on the board, but also counters player moves.
Tip 3:
Add error handling and retries if a player chooses a place on the board that is already occupied.
Note
Working code solutions are in the /Intermediate
folder.
Contributions are welcome! If you have project ideas or improvements, feel free to fork the repository and open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.