Skip to content

wajiddaudtamboli/Python-Programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐍 Python Programming - Complete Core Python Repository

Python License Programs GitHub Stars GitHub Forks Data Analyst

Welcome to my comprehensive Python programming repository! This collection contains 82 well-organized, clean, and beginner-friendly Python programs covering all core concepts from basics to advanced topics. Built as part of my journey to becoming a Data Analyst, with special focus on data structures, file handling, and practical problem-solving skills essential for data analysis.


πŸ“‹ Table of Contents


πŸ“– About

This repository is a comprehensive collection of 82 Python programs that I developed while learning Python programming. It represents my journey from beginner to advanced level, covering all essential concepts needed to build a strong foundation in Python.

As an aspiring Data Analyst, I created this repository to:

  • πŸ“Š Document my Python learning journey with focus on data manipulation
  • 🎯 Practice core programming concepts essential for data analysis
  • πŸ’Ό Build a portfolio demonstrating Python proficiency for Data Analyst roles
  • 🀝 Help other learners with clean, understandable code
  • πŸ“ˆ Master data structures (lists, dictionaries, sets) crucial for data processing
  • πŸ“ Develop file handling skills for working with datasets
  • πŸ” Practice problem-solving and algorithmic thinking

Why This Repository Matters for Data Analysts:

  • Data Structures (03_Data_Structures): 10 programs covering lists, dictionaries, sets, tuples - the foundation of data manipulation
  • File Operations (09_File_Operations): Essential for reading/writing datasets (CSV, text files)
  • Functions (04_Functions): Creating reusable code for data processing pipelines
  • OOP (05_OOP): Organizing complex data analysis projects
  • Exception Handling (06_Advanced): Writing robust data scripts that handle errors gracefully

All programs are:

  • βœ… Written in clean, readable Python code following PEP 8 standards
  • βœ… Organized in 10 logical categories (Basics β†’ Advanced)
  • βœ… Beginner-friendly with clear logic and comments
  • βœ… Ready to run and modify for your own projects
  • βœ… Focused on practical skills needed in data analysis roles

πŸ“ Repository Structure

Python-Programming/
β”‚
β”œβ”€β”€ 01_Basics/                  # 6 programs - Basic Python fundamentals
β”œβ”€β”€ 02_Control_Flow/            # 16 programs - Conditionals, loops, branching
β”œβ”€β”€ 03_Data_Structures/         # 10 programs - Lists, dicts, sets, tuples, strings
β”œβ”€β”€ 04_Functions/               # 12 programs - Functions, lambda, recursion, decorators
β”œβ”€β”€ 05_OOP/                     # 13 programs - Classes, inheritance, polymorphism
β”œβ”€β”€ 06_Advanced/                # 10 programs - Threading, generators, exceptions, databases
β”œβ”€β”€ 07_Patterns/                # 10 programs - Star, number, alphabet patterns
β”œβ”€β”€ 08_Projects/                # 2 programs - ATM System, Library Management
β”œβ”€β”€ 09_File_Operations/         # 2 programs - File handling and I/O
β”œβ”€β”€ 10_GUI/                     # 1 program - Tkinter calculator
└── README.md                   # Documentation

πŸ—‚οΈ Program Categories

πŸ“˜ 01_Basics (6 Programs)

Core Python fundamentals and building blocks

  • input.py - Variables, data types, input/output, area calculations (circle, rectangle, square, triangle)
  • cardemobye.py - Car showroom program with discount and GST calculations
  • marks.py - Student marks calculator and grade evaluation
  • palindrome.py - Palindrome number checker using loops
  • Prefect-Armstrong-Palindrome-wajid.py - Perfect number, Armstrong number, and palindrome checker
  • swapping.py - Variable swapping techniques with and without temp variable

πŸ” 02_Control_Flow (16 Programs)

Mastering conditionals, loops, and branching statements

  • conditional.py - All 4 conditional types: simple if, if-else, if-elif-else, nested if
  • if_else_basic.py - Basic if-else statement examples
  • while_for.py - Calculator implementation using while loops
  • while_l.py - While loop demonstrations
  • while_loop1.py to while_loop4.py - Various while loop patterns and examples
  • for-while-loop.py - Comparison between for and while loops
  • for_loop_copy.py - For loop practice programs
  • for_loop_examples.py - Repeated number counting using for loops
  • Branching_Statements-wajid.py - break, continue, pass statements
  • atm_basic.py - Basic ATM system using control flow
  • percentage_calc.py - Percentage calculator
  • table_sum.py - Multiplication table with sum calculation
  • username_password.py - Login authentication system

πŸ“Š 03_Data_Structures (10 Programs) ⭐ Essential for Data Analysts

Working with Python's built-in data structures

  • list.py - Interactive shell demo: append, extend, sort, reverse, pop, count, index
  • list_operations.py - List CRUD operations and methods
  • list_operations_and_patterns.py - Combined list operations with pattern printing
  • dynamic_list_modification.py - Conditional list modification techniques
  • Dictionary.py - Dictionary basics and operations
  • tuple_operations.py - Tuple methods and immutable sequence operations
  • set_operations.py - Set operations: add, union, intersection, difference
  • String-wajid.py - String methods: capitalize, find, format, split, join, replace
  • reference_types.py - Understanding reference vs value types in Python
  • Repeated_no_count_without_list_func-wajid.py - Counting repeated numbers without built-in functions

πŸ”§ 04_Functions (12 Programs) ⭐ Data Processing Skills

Functions, lambda expressions, and code modularity

  • Function-wajid.py - Basic function definitions and calls
  • function_args.py - Function arguments and parameters
  • function_arguments.py - Positional, keyword, default, and arbitrary arguments
  • arbitrary_args.py - *args and **kwargs demonstrations
  • calculator.py - Calculator implementation using functions
  • Atm_Function-wajid.py - ATM system built with functions
  • basic_functions_and_sorting.py - Functions with tuple sorting
  • recursion_and_lambda.py - Factorial recursion, lambda, filter, map functions
  • Lamda_func-wajid.py - Lambda function examples
  • factorial_recursion.py - Recursive factorial implementation
  • fun_overloading.py - Function overloading concepts
  • closures_and_decorators.py - Nested functions, closures, and decorators

🎯 05_OOP (13 Programs)

Object-Oriented Programming concepts and principles

  • oops_basic.py - OOP fundamentals: classes and objects
  • Class_&_Object.py - Classes with init, methods, and attributes
  • class_methods.py - Static methods, instance methods, class methods
  • static_methods.py - Static method implementations
  • inheritance_basic.py - Single and multilevel inheritance with super()
  • inheritance_polymorphism.py - All 4 inheritance types + polymorphism
  • Inheritance-Practice-wajid.py - Inheritance practice exercises
  • advanced_inheritance.py - Comprehensive inheritance examples
  • hybrid_inheritance.py - Hybrid inheritance with marks calculation
  • atm_multiple_inheritance.py - ATM system using multiple inheritance
  • atm-class_&_obj-wajid.py - ATM system with classes and objects
  • polymorphism.py - Method overriding and polymorphism
  • polymorphism_and_overloading.py - Operator overloading and polymorphism

πŸš€ 06_Advanced (10 Programs) ⭐ Professional Development Skills

Advanced Python concepts for professional development

  • Iterator_and_Generator-wajid.py - Custom iterators using iter and next
  • generator_yield.py - Generator functions with yield keyword
  • Exception_Handling-wajid.py - Exception handling with try-except-finally
  • custom_exceptions.py - Creating custom exception classes
  • number_guessing_game.py - Game with custom exception handling
  • thread_basics.py - Threading fundamentals
  • thread_multithread.py - Multithreading implementation
  • socket_networking.py - Socket programming for network communication
  • database_connectivity.py - SQLite database connection and operations
  • database_register.py - User registration system with database

⭐ 07_Patterns (10 Programs)

Pattern printing for logic building and interview preparation

  • pyramid_basic.py - Basic pyramid patterns
  • pyramid_advanced.py - Advanced pyramid structures
  • pyramid_while.py - Pyramids using while loops
  • alphabet_triangle.py - Alphabet triangle patterns with visual outputs
  • patterns_alphabet_triangles.py - Collection of alphabet patterns
  • triangle_and_pyramid_patterns.py - Upper/lower triangles, mixed patterns
  • mixed_triangle_patterns.py - Multiple triangle variations
  • number_and_star_patterns.py - Incremental number and star patterns
  • chr_pyramid.py - Character pyramids using chr() function
  • chr_triangle_while.py - Character triangles with while loops

πŸ’Ό 08_Projects (2 Programs)

Complete mini-projects demonstrating real-world applications

  • atm_project.py - Complete ATM banking system with file receipts, PIN validation, menu-driven interface, time module integration
  • library_Mgt_System.py - Library management system with book operations

πŸ“ 09_File_Operations (2 Programs) ⭐ Critical for Data Analysts

File handling and I/O operations - Essential for working with datasets

  • file_handling_basic.py - Read, write, append modes with student information storage
  • File_Handling-wajid.py - File operations with practical examples

πŸ–₯️ 10_GUI (1 Program)

Graphical User Interface development

  • simple_calculator.py - Tkinter-based calculator with GUI widgets and event handling

πŸ“Š Data Analyst Focus Areas

This repository emphasizes skills crucial for Data Analyst roles:

🎯 Core Data Skills Covered:

  1. Data Structures (03_Data_Structures)

    • Lists: append, extend, sort, filter, comprehensions
    • Dictionaries: key-value operations, data lookup
    • Sets: unique values, intersections, unions
    • Strings: parsing, cleaning, manipulation
    • Why it matters: Foundation of data manipulation in pandas
  2. File Handling (09_File_Operations)

    • Reading data files
    • Writing processed results
    • File modes and operations
    • Why it matters: Working with CSV, text, and JSON files
  3. Functions & Modularity (04_Functions)

    • Reusable data processing functions
    • Lambda functions for data transformation
    • Map, filter, reduce operations
    • Why it matters: Building data pipelines
  4. Exception Handling (06_Advanced)

    • Try-except for robust scripts
    • Custom exceptions for data validation
    • Why it matters: Handling missing or invalid data gracefully
  5. Control Flow (02_Control_Flow)

    • Conditional logic for data filtering
    • Loops for data iteration
    • Why it matters: Processing datasets programmatically

πŸš€ Getting Started

Prerequisites

  • Python 3.x installed on your system (Download Python)
  • Basic understanding of programming concepts
  • A code editor (VS Code, PyCharm, Sublime Text, or any text editor)

Installation

  1. Clone the repository

    git clone https://github.com/wajiddaudtamboli/Python-Programming.git
  2. Navigate to the project directory

    cd Python-Programming
  3. You're ready to run programs!

    python 01_Basics/input.py

πŸ’» Usage

Running Individual Programs

Navigate to any category folder and run the desired program:

# Example: Work with data structures (Important for Data Analysts!)
cd 03_Data_Structures
python list_operations.py

# Example: Run calculator using functions
cd 04_Functions
python calculator.py

# Example: Run pattern program
cd 07_Patterns
python pyramid_advanced.py

# Example: Run OOP example
cd 05_OOP
python inheritance_polymorphism.py

# Example: Try ATM project
cd 08_Projects
python atm_project.py

# Example: File handling practice
cd 09_File_Operations
python file_handling_basic.py

Modifying Programs

All programs are designed to be easily modifiable:

  1. Open any .py file in your code editor
  2. Read the program comments and logic
  3. Modify the code as needed for practice
  4. Run and test your changes

πŸ“š Learning Roadmap

Recommended Learning Path for Aspiring Data Analysts:

Week 1-2: Basics & Control Flow
β”œβ”€β”€ 01_Basics           β†’ Understand variables, I/O, basic operations
└── 02_Control_Flow     β†’ Master if-else, loops, branching

Week 3-4: Data Structures (CRITICAL!)
└── 03_Data_Structures  β†’ Deep dive into lists, dicts, sets, strings

Week 5-6: Functions & Patterns
β”œβ”€β”€ 04_Functions        β†’ Write reusable code, lambda functions
└── 07_Patterns         β†’ Practice logic building

Week 7-8: OOP & File Operations
β”œβ”€β”€ 05_OOP              β†’ Organize code with classes
└── 09_File_Operations  β†’ Read/write data files

Week 9-10: Advanced Topics & Projects
β”œβ”€β”€ 06_Advanced         β†’ Exceptions, threading, databases
└── 08_Projects         β†’ Build complete applications

Optional: GUI Development
└── 10_GUI              β†’ Create desktop applications

Focus Areas for Data Analyst Roles:

Must Master:

  1. Data Structures (03_Data_Structures) - 80% of data work
  2. File Operations (09_File_Operations) - Reading datasets
  3. Functions (04_Functions) - Data processing pipelines

Should Know: 4. Control Flow (02_Control_Flow) - Data filtering logic 5. Exception Handling (06_Advanced) - Robust scripts

Good to Have: 6. OOP (05_OOP) - Organize larger projects 7. Basics (01_Basics) - Foundation


🀝 Contributing

Contributions are welcome! If you'd like to improve any program or add new ones:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/NewProgram)
  3. Commit your changes (git commit -m 'Add: New data processing program')
  4. Push to the branch (git push origin feature/NewProgram)
  5. Open a Pull Request

Contribution Guidelines

  • Follow PEP 8 coding standards
  • Add clear comments and documentation
  • Keep code beginner-friendly
  • Test your code before submitting
  • Add programs relevant to data analysis when possible

πŸ‘¨β€πŸ’» Author

Wajid Daud Tamboli
Aspiring Data Analyst

  • 🌐 GitHub: @wajiddaudtamboli
  • πŸ’Ό LinkedIn: Wajid Daud Tamboli
  • πŸ“§ Email: wajiddaudtamboli@gmail.com
  • 🎯 Career Goal: Data Analyst
  • πŸ’‘ Skills: Python, Data Structures, SQL (learning), Data Analysis (learning)
  • πŸ“Š Focus Areas: Data manipulation, file handling, automation with Python

About Me:
I'm passionate about transforming data into insights! This repository represents my journey of mastering Python programming to become a proficient Data Analyst. Each program here is a step towards building the strong foundation needed for data analysis, including data structure manipulation, file operations, and clean code practices.

Looking for opportunities in:

  • Data Analyst roles (Entry-level/Junior)
  • Data Analytics internships
  • Python automation projects
  • Data processing and analysis projects

⭐ Show Your Support

If you found this repository helpful, please consider:

  • ⭐ Giving it a star on GitHub
  • πŸ”€ Forking it for your own learning
  • πŸ“’ Sharing it with others learning Python
  • πŸ’¬ Providing feedback or suggestions

πŸ“ License

This collection is for educational purposes. Feel free to:

  • βœ… Use for learning and practice
  • βœ… Modify and experiment with the code
  • βœ… Share with other learners
  • βœ… Use as reference for your projects

πŸ“Š Repository Statistics

  • Total Programs: 82
  • Categories: 10
  • Lines of Code: 5,000+
  • Focus: Data Analyst skills
  • Level: Beginner to Advanced
  • Language: Python 3.x

πŸ™ Acknowledgments

  • Thanks to the Python community for excellent documentation
  • Inspired by various online Python tutorials and data analysis courses
  • Special thanks to everyone who contributes to open-source learning
  • Gratitude to mentors and peers who supported my learning journey

πŸ“ž Contact & Collaboration

Interested in collaborating or have questions?


🌟 Happy Coding & Data Analyzing! 🌟

Made with ❀️ by Wajid Daud Tamboli

Building a strong Python foundation for Data Analysis

⬆ Back to Top

About

All Python Programs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages