https://github.com/infinitode/python-projects
An open-source GitHub repository containing Python project ideas, steps, tips, and code solutions.
https://github.com/infinitode/python-projects
advanced advanced-projects beginners code-solution code-solutions examples examples-python free intermediate intermediate-projects open-source project-ideas python python-projects python-solutions readme tutorial tutorials
Last synced: 3 months ago
JSON representation
An open-source GitHub repository containing Python project ideas, steps, tips, and code solutions.
- Host: GitHub
- URL: https://github.com/infinitode/python-projects
- Owner: Infinitode
- License: mit
- Created: 2024-11-23T08:22:50.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-01-22T10:44:57.000Z (5 months ago)
- Last Synced: 2025-02-05T08:30:19.501Z (5 months ago)
- Topics: advanced, advanced-projects, beginners, code-solution, code-solutions, examples, examples-python, free, intermediate, intermediate-projects, open-source, project-ideas, python, python-projects, python-solutions, readme, tutorial, tutorials
- Language: Python
- Homepage: https://infinitode.netlify.app
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Python Projects
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.
## Table of Contents
1. [Setup](#setup)
2. [Beginner Projects](#beginner-projects)
3. [Intermediate Projects](#intermediate-projects)
4. [Contributing](#contributing)
5. [License](#license)## Setup
- Ensure have at least Python `3.6` or later (we recommend `3.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.## Beginner Projects
These projects are ideal for those new to Python. Each project includes a description, steps to follow, and tips for completing it.### 1. Calculator
- **Description**: Build a simple calculator that performs basic arithmetic operations (`+`, `-`, `*`, `/`).- **Solution**: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/1_calculator.py
- **Steps**:
1. Prompt the user for two numbers and an operator.
2. Perform the chosen operation.
3. 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#input
Tip 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.asp
Tip 4:Print out the result using `print()`. Learn more from here: https://docs.python.org/3/library/functions.html#print
### 2. Number Guessing Game
- **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**:
1. Generate a random number within the range `0 - 100`.
2. Prompt the user for a number input.
3. Compare the input to a valid range within 10 of the random number.
4. Display the result.- **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 of `10`. Learn more from here: https://www.w3schools.com/python/python_conditions.asp
Tip 4:Print out the result using `print()`. Learn more from here: https://docs.python.org/3/library/functions.html#print
### 3. Password Generator
- **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**:
1. Define your password generator's maps or strings.
2. Prompt the user for a number `[8 - 128]` input.
3. Generate the password.
4. 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()`.
### 4. Tip Calculator
- **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**:
1. Get the total from the user.
2. Get the tip percentage from the user.
3. Get the amount of people who should split the bill.
3. Calculate the tip.
4. Display the result.- **Tips:**
Tip 1:Get all inputs using `input()`.
Tip 2:Calculate the `tip_amount`, `new_total` and `splits_per_person` using basic arithmetic and math.
Tip 3:Print out the result using `print()`.
### 5. Temperature Converter
- **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**:
1. Define conversion values for each conversion.
2. Prompt the user for the unit to convert to, and from.
3. Prompt the user for a temperature value.
4. Convert.
5. 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()`.
### 6. Palindrome Checker
- **Description**: Build a simple palindrome checker.- **Solution**: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/6_palindrome_checker.py
- **Steps**:
1. Prompt the user for a word.
2. Reverse the string.
3. Check if it is equal to the original.
4. 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()`.
### 7. Word Counter
- **Description**: Build a simple word counter.- **Solution**: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/7_word_counter.py
- **Steps**:
1. Prompt the user for a file path (TXT).
2. Read the file path.
3. Count the words in the read data.
4. 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()` and `len()`.
Tip 4:Print out the result using `print()`.
### 8. Text Encryption
- **Description**: Create a text encryption function with decryption as well.- **Solution**: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/8_text_encryption.py
- **Steps**:
1. Prompt the user for text and a password (to be used for encryption).
2. Encrypt the text.
3. Decrypt the text.
4. Display the results.- **Tips:**
Tip 1:Use `input()` for input.
Tip 2:Use simple encryption methods like Caesar cipher.
Tip 3:Store the password in a variable to use it later during decryption.
Tip 4:Print out the results using `print()`.
### 9. Countdown Timer
- **Description**: Create a countdown timer for seconds and minutes.- **Solution**: https://github.com/Infinitode/Python-Projects/blob/main/Beginner/9_countdown_timer.py
- **Steps**:
1. Prompt the user for a time, in a specific format.
2. Extract information from the provided time.
3. Countdown.
4. Display the results.- **Tips:**
Tip 1:Use `input()` for input.
Tip 2:Use simple string manipulation techniques to get the minutes and seconds from the provided time.
Tip 3:Use `time.sleep(1)` to count down in seconds.
Tip 4:Print out the results using `print()`.
> [!NOTE]
> Working code solutions are in the `/Beginner` folder.## Intermediate Projects
These projects are ideal for those with experience in Python. Each project includes a description, steps to follow, and tips for completing it.### 1. Tic Tac Toe
- **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**:
1. Create the board (3x3 grid) and other logic (handling invalid moves, etc.)
2. Handle player and computer moves, including ties, wins and losses.
3. 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.## Contributing
Contributions are welcome! If you have project ideas or improvements, feel free to fork the repository and open a pull request.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.