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.
- About
- Repository Structure
- Program Categories
- Data Analyst Focus Areas
- Getting Started
- Installation
- Usage
- Learning Roadmap
- Contributing
- License
- Author
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
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
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
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
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
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
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
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
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
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
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
Graphical User Interface development
- simple_calculator.py - Tkinter-based calculator with GUI widgets and event handling
This repository emphasizes skills crucial for Data Analyst roles:
-
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
-
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
-
Functions & Modularity (04_Functions)
- Reusable data processing functions
- Lambda functions for data transformation
- Map, filter, reduce operations
- Why it matters: Building data pipelines
-
Exception Handling (06_Advanced)
- Try-except for robust scripts
- Custom exceptions for data validation
- Why it matters: Handling missing or invalid data gracefully
-
Control Flow (02_Control_Flow)
- Conditional logic for data filtering
- Loops for data iteration
- Why it matters: Processing datasets programmatically
- 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)
-
Clone the repository
git clone https://github.com/wajiddaudtamboli/Python-Programming.git
-
Navigate to the project directory
cd Python-Programming -
You're ready to run programs!
python 01_Basics/input.py
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.pyAll programs are designed to be easily modifiable:
- Open any
.pyfile in your code editor - Read the program comments and logic
- Modify the code as needed for practice
- Run and test your changes
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
Must Master:
- Data Structures (03_Data_Structures) - 80% of data work
- File Operations (09_File_Operations) - Reading datasets
- 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
Contributions are welcome! If you'd like to improve any program or add new ones:
- Fork the repository
- Create your feature branch (
git checkout -b feature/NewProgram) - Commit your changes (
git commit -m 'Add: New data processing program') - Push to the branch (
git push origin feature/NewProgram) - Open a Pull Request
- 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
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
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
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
- Total Programs: 82
- Categories: 10
- Lines of Code: 5,000+
- Focus: Data Analyst skills
- Level: Beginner to Advanced
- Language: Python 3.x
- 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
Interested in collaborating or have questions?
- GitHub Issues: Report bugs or suggest features
- Email: wajiddaudtamboli@gmail.com
- LinkedIn: Connect with me for professional networking
Made with β€οΈ by Wajid Daud Tamboli
Building a strong Python foundation for Data Analysis