Skip to content

hifsaiftikhar/python-mini-projects

Repository files navigation

Python Mini Projects

A collection of Python projects built to practice core programming concepts including Object Oriented Programming, file handling, error handling, and user interaction design.


Projects


1. ATM Simulation

A terminal-based ATM simulation built using Object Oriented Programming.

Features:

  • Check balance
  • Deposit and withdraw money with input validation
  • Full transaction history
  • Two-class design — ATM (banking logic) and ATMController (user interface)
  • Colored terminal output with ASCII art banner

Concepts used: OOP, classes, methods, error handling, user input

How to run:

python atm_simulation.py

Screenshots:

ATM Main Menu

ATM Deposit


2. Number Guessing Game

An interactive number guessing game with persistent scoreboard and custom settings.

Features:

  • Custom number range — user sets their own min and max
  • Custom number of attempts
  • Optional hints (even or odd)
  • Best score saved to file and persists between sessions
  • Game stats — wins, losses, games played

Concepts used: File I/O, functions, loops, conditionals, error handling

How to run:

python number_guessing_game.py

Screenshot:

Number Guessing Game


3. To-Do List Manager

A personal task manager that saves tasks between sessions using JSON.

Features:

  • Add tasks with categories (Work / Personal / Other)
  • View pending and completed tasks separately
  • Mark tasks as complete
  • Remove tasks with confirmation prompt
  • Filter tasks by category
  • All data saved to JSON file — persists between sessions

Concepts used: JSON file handling, functions, lists, dictionaries, error handling

How to run:

python to_do_list.py

Screenshots:

To Do List Menu

To Do List Tasks

Sample Output:

Welcome to Your Personal To-Do Manager
Created by Hifsa Iftikhar

3 completed | 2 pending tasks

--- Main Menu ---
1. Add New Task
2. Show Pending Tasks
3. Show Completed Tasks
4. Mark Task as Complete
5. Remove Task
6. Filter by Category
7. Exit

Choose an option (1-7): 1

--- Add New Task ---
Task description: Submit ML Assignment
Category (Work / Personal / Other): Work
Task added: 'Submit ML Assignment' [Work]

Choose an option (1-7): 2

=== Your Tasks ===
  1. Submit ML Assignment   [Work]      — Pending
  2. Buy groceries          [Personal]  — Pending

Choose an option (1-7): 7

--- Summary ---
Pending tasks  : 1
Completed tasks: 3

Thanks for using the To-Do Manager. Goodbye!

Requirements

No external libraries needed. All projects use Python standard library only.

Python version: 3.6 or higher


How to Run Any Project

  1. Make sure Python is installed on your computer
  2. Download the .py file
  3. Open terminal in the same folder
  4. Run: python filename.py

Author

Hifsa Iftikhar
GitHub: @hifsaiftikhar

About

Three Python projects: ATM simulation, number guessing game, and to-do list manager

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages