<!-- # 100DayOfPython
This repo will contain all practice exercises I do in the 100 days time period -->

#  🐍 100 Days of Python

This repository contains all practice exercises completed over a 100-day period as part of the 100 Days of Python challenge.

## Overview

This project documents the daily practice and learning exercises in Python. Each day covers different topics and exercises to enhance Python programming skills.

## 📂 Access Files

| ID  | Description                                                     | Day Link                                                                      |
|-----|-----------------------------------------------------------------|-------------------------------------------------------------------------------|
| 1   | Introduction to Python basics and conditionals                  | [Day 1](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_1.ipynb) |
| 2   | Loops, keywords and functions                                   | [Day 2](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_2.ipynb) |
| 3   | Modules and Lists                                               | [Day 3](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_3.ipynb) |
| 4   | Dictionary, Sets and Files                                      | [Day 4](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_4.ipynb) |
| 5   | Python OOPs 1                                                   | [Day 5](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_5.ipynb) |
| 6   | Python OOPs 2                                                   | [Day 6](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_6.ipynb) |
| 7   | Exception Handling                                              | [Day 7](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_7.ipynb) |
| 8   | Python Modules in Detail                                        | [Day 8](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_8.ipynb) |
| 9   | Revise Day 1 - Day 7                                            | [Day 9](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_9.ipynb) |
| 10  | Python Regex                                                    | [Day 10](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_10.ipynb)   |
| 11  | Working with PDFs using PyPDF                                   | [Day 11](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_11)                 |
| 12  | Working with images and PDFs using PyPDF and Pillow             | [Day 12](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_12)         |
| 13  | Learning Requests Library APIs                                  | [Day 13](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_13)                       |
| 14  | Working with Database (MySQL)                                   | [Day 14](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_14)                                   |
| 15  | Working with Database (MongoDB Basics)                          | [Day 15](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_15)                                 |
| 16  | Practice Project - Command Line Interface (Task Manager)        | [Day 16](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_16%20(%20Task%20%20Manager%20CLI%20))              |
| 17  | Lambda Function ( Anonymous Function in python )                | [Day 17](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_17) |
| 18  | Python Metaclasses                                              | [Day 18](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_18) |
| 19  | Python Generators and Yield                                     | [Day 19](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_19) |
| 20  | Python `*args` and `**kwargs`                                   | [Day 20](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_20) |
| 21  | Python Decorator and Nested / inner Functions                   | [Day 21](https://github.com/HeyBuddy-NSK/100DayOfPython/blob/main/Day_21) |
| 22  | Data Structures 1 - Arrays and Linked List                      | [Day 22](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_22) |
| 23  | Context Managers in Python : The with Statement                 | [Day 23](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_23) |
| 24  | Data Structures 2 - Linked List and Types                       | [Day 24-25](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_24%20and%2025) |  
| 25  | Data Structures 3 - Stack and Queue				| [Day 26](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_26) |
| 26  | Data Structures 4 - Binary Search Tree                          | [Day 27](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_27) |
| 27  | Data Structures 5 - Heaps (Min and Max)                         | [Day 28](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_28) |
| 28  | Data Structures 6 - Hash Table                                  | [Day 29](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_29) |
| 29  | Data Strcutures 7 - Recursion                                   | [Day 30](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_30) |
| 30  | Algorithms 1 - Linear and Binary Search                         | [Day 31](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_31) |
| 31  | Data Structures 8 - Graph                                       | [Day 32](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_32) |
| 32  | Algorithms 2 - BFS and DFS                                      | [Day 33-34](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_33_34)|
| 33  | Algorithms 3 - Bubble sort and Selection sort                   | [Day 35](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_35) |
| 34  | Algorithms 4 - Insertion sort and Merge sort                    | [Day 36](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_36) |
| 35  | Algorithms 5 - Quick sort and Heap sort 			| [Day 37](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_37) |
| 36  | Algorithms 6 - Shell sort and Counting sort                     | [Day 38](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_38) |
| 37  | Algorithms 7 - Radix sort and Bucket sort                       | [Day 39](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_39) |
| 38  | Creating Python Package - A beginner project                    | [Day 40-43](https://github.com/HeyBuddy-NSK/python-dsalgo/tree/main)      |
| 39  | Introduction to Flask - Micro Framework                         | [Day 44](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_44) |
| 40  | Python Flask - Templates in Detail                              | [Day 45](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_45) |
| 41  | Python Flask - Templates in Detail (Bootstrap Integration), Creating Error Pages, Local time and date.      | [Day 46](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_46) |
| 42  | Python Flask - Web Forms                                        | [Day 47](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_47) |
| 43  | Python Flask - Database Integration                             | [Day 48](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_48) |
| 44  | Python Flask - Email Integration                                | [Day 49](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_49) |
| 45  | Python Flask - Large Application Structure                      | [Day 50](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_50) |
| 46  | Python Flask - User Authentication (Notes)                      | [Day 51](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_51) |
| 47  | Python Flask - User Roles (Notes)                               | [Day 52](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_52) |
| 48  | Python Flask - User Profiles (Notes)                            | [Day 53](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_53) |
| 49  | Python Flask - SQLALchemy Basics (Notes)                        | [Day 54-57](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_54-57) |
| 50  | Python Flask - Social Blog application Progress                 | [Day 58-61](https://github.com/HeyBuddy-NSK/nkblog)                       |
| 51  | Python - API and RESTful APIs                                   | [Day 64-65](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_64-65) |
| 52  | Python - Selenium and test cases                                | [Day 75-79](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_75-79) |
| 53  | Python - Code profiling and error logging                       | [Day 80-81](https://github.com/HeyBuddy-NSK/100DayOfPython/tree/main/Day_80-81) |


##  Usage

Each day's exercise can be accessed by clicking on the respective link above. The exercises are primarily written in Jupyter Notebook format with some additional Python scripts and projects.

## 🤝 Contributions

Contributions are welcome. Please fork the repository and submit a pull request for any improvements or additions.

## 📄 License

This project is licensed under the MIT License.

## 📊 Contribution Calendar

Check out the contributions to this repository over time:

![Contribution Calendar](https://ghchart.rshah.org/HeyBuddy-NSK)


