- Notifications
You must be signed in to change notification settings - Fork0
A comprehensive collection of Python Programming Challenges (35+ Jupyter Notebooks) covering Beginner to Advanced topics, including Data Analysis, OOP, and Algorithms.
License
devkoustavdas/python-programming-challenges
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Welcome to a curated roadmap of Python coding exercises designed to take you frombeginner toadvanced, one challenge at a time. This repository is built around Jupyter Notebooks for interactive learning.Python Documentation:https://docs.python.org/3/
Who is this for?
- Students looking tolevel up their core Python
- Developers practicing forcoding or analyst interviews
- Bootcampers buildingproject portfolios
- Anyone who wants to improve in astructured, concept-rich way
This repository offers a focused deep-dive into critical areas of Python programming:
- Data Structures & Algorithms
- Object-Oriented Programming (OOP)
- File Handling & Date/Time Operations
- Statistical Analysis & Data Manipulation (Pandas, NumPy)
- List Comprehensions & Functional Programming
Focus: Strings, math, loops, lists, dicts, conditionals
| # | Problem Description | Concepts Covered | Status |
|---|---|---|---|
| 1 | Check if number is divisible by 13 but not 5 | if,%,and, input | ✅ Done |
| 2 | Count frequency of each character in a string & sort | Loops,dict, sorting | ✅ Done |
| 3 | Count frequency of words in a sentence | .split(),dict, loop | ✅ Done |
| 4 | Convert decimal to binary manually | Math, loop, string logic | ✅ Done |
| 5 | Check if a string is a palindrome | String slicing | ✅ Done |
| 6 | Squares of even numbers using list comprehension | List comprehension | ✅ Done |
| 7 | Countdown to next birthday | datetime,timedelta | ✅ Done |
| 8 | Check Armstrong number | Math, loop, power op | ✅ Done |
| 9 | Reverse words in a sentence | .split(), slicing | ❌ Not Yet |
| 10 | Replace vowels in a string with# | Loop, string replace | ✅ Done |
| 11 | Find all prime numbers up toN | Loops, nestedif | ❌ Not Yet |
| 12 | Compute factorial (loop and recursion) | for,def, recursion | ✅ Done |
| 13 | Evaluate formula:Q = √((2×C×D)/H) from inputs | Math, user input | ✅ Done |
| 14 | Anagram checker (using freq dict) | Dict, sets, sorting | ✅ Done |
| 15 | Calculate LCM & HCF of two numbers | Math, GCD, loops | ✅ Done |
| 16 | Simulate robot movement in 2D plane with directions | Tuples,abs(), loop | ✅ Done |
| 17 | Run-Length Encoder (Convert aaabbccc → a3b2c3) | String compression, logic | ✅ Done |
| 18 | Calculate BMI for adults | Raise Error, Docstrings | ✅ Done |
Focus: Functions, nested data, CLI interfaces, intro to OOP
| # | Problem Description | Concepts Covered | Status |
|---|---|---|---|
| 1 | Create 2D matrix where [i][j] = i×j | Nested loops, 2D list | ✅ Done |
| 2 | Multiply 2 matrices manually | Loops, nested list | ✅ Done |
| 3 | Generate strong password | random, string, loop | ✅ Done |
| 4 | Rock-paper-scissors CLI game | CLI loop, random choice | ❌ Not Yet |
| 5 | Grocery billing with discounts + receipt generator | Loops, dict, formatting | ❌ Not Yet |
| 6 | Contact book (add/search/delete) | Dict of dicts, CLI menu | ✅ Done |
| 7 | Hotel room booking simulation | OOP, static method, date handling | ✅ Done |
| 8 | Replace words in paragraph | .replace(), string logic | ❌ Not Yet |
| 9 | Bank Account class with deposit, withdraw, PIN check | OOP (encapsulation) | ✅ Done |
| 10 | Frequency plot of letters in a sentence | ASCII art, count, loop | ❌ Not Yet |
| 11 | Recursive Fibonacci generator | recursion, math | ❌ Not Yet |
| 12 | Build a mini-dictionary CLI tool | Dict, file I/O | ❌ Not Yet |
| 13 | Validate random password rules | Conditions, loop | ❌ Not Yet |
| 14 | Quick math game (timer & scoring) | Game logic, random | ✅ Done |
| 15 | Analyze Sales Numbers usingpandas | pandas, summarization | ✅ Done |
| 16 | Expenses Split Calculator with distributed amounts | Math, rounding, functions | ✅ Done |
Focus: File handling, validation, pandas, JSON, games
| # | Problem Description | Concepts Covered | Status |
|---|---|---|---|
| 1 | Generate invoice with tax & discount | OOP, dict, formatting | ✅ Done |
| 2 | Hangman game (word bank, guesses, life system) | CLI game logic | ✅ Done |
| 3 | HandCricket game: toss → innings → result | Game loop, CLI | ✅ Done |
| 4 | Scientific calculator with logs to file | Math ops, Error handling, File Handling | ✅ Done |
| 5 | BMI calculator with logs to file | File append, math | ❌ Not Yet |
| 6 | Transaction logger with daily summary | File I/O, string format | ❌ Not Yet |
| 7 | Regex password strength checker | re module, validation | ❌ Not Yet |
| 8 | Read/write contact book to text file | file open(), dict parsing | ❌ Not Yet |
| 9 | Clean CSV, fill missing values | pandas,fillna,dropna | ❌ Not Yet |
| 10 | Read JSON, update values, and save | json module, I/O | ❌ Not Yet |
| 11 | Replace all duplicate chars with# | 2-pointer, greedy | ✅ Done |
| 12 | Statistical Analysis of a list of numbers | List, Filter, Sort, Statistics | ✅ Done |
| 13 | Sort top 5 earners from.csv file | pandas,sort_values() | ❌ Not Yet |
| 14 | Exhaustive Search for minima of a function | Math, plotting (optional) | ✅ Done |
Focus: External libraries, APIs, modular OOP, basic ML/NLP
| # | Problem Description | Concepts Covered | Status |
|---|---|---|---|
| 1 | Email validator + CLI signup system | Regex, CLI, validation | ❌ Not Yet |
| 2 | Fetch weather data from OpenWeather API | API calls,requests, JSON | ❌ Not Yet |
| 3 | Expense tracker with monthly summary | OOP, file, CLI tools | ❌ Not Yet |
| 4 | Convert sales CSV to JSON report | pandas, JSON, export | ❌ Not Yet |
| 5 | CLI tool to merge 2 files line-by-line | File reading, logic | ❌ Not Yet |
| 6 | Create a quiz app with score and levels | OOP, state, CLI | ❌ Not Yet |
| 7 | Income predictor using Linear Regression | sklearn, data prep | ❌ Not Yet |
| 8 | Sentiment analysis on product reviews | TextBlob,nltk | ❌ Not Yet |
| 9 | Income tax calculator (slabs + surcharge logic) | Conditions, formatting | ❌ Not Yet |
| 10 | Full OOP invoice system with session state | OOP,Streamlit, UI logic | ❌ Not Yet |
- Choose adifficulty level you're comfortable with.(Currently, there are 3 levels – more coming soon!)
- Each level folder containsJupyter Notebooks numbered as per the README.
- Every notebook includes areal-world coding problem, followed by its solution.Try solving the problem yourself before peeking at the solution.
- The problems aremini Python projects designed to mimic real-world use cases you might encounter during interviews, freelancing, or product development.
- The
Assets/folder contains all necessary input datasets and output/reference files. - You’ll findopen Issues with additional problem suggestions — feel free to attempt them!
- Fork this repo and raise a PR to add your own problem variants or improvements!
python beginner exercises,python coding problems,oop python practice,interview prep python,real world python mini projects,file io pandas python,python games and utilities
- Jupyter Notebook / VS Code / Spyder
- Python ≥ 3.9
pandas,requests,textblob,random,math
- Want to add more problems?
- Found a bug in a solution?
- Submit a Pull Request 🚀
About
A comprehensive collection of Python Programming Challenges (35+ Jupyter Notebooks) covering Beginner to Advanced topics, including Data Analysis, OOP, and Algorithms.
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.