{"id":50924499,"url":"https://github.com/vinit-devops/python-practice-exercises","last_synced_at":"2026-06-16T21:01:41.979Z","repository":{"id":303803428,"uuid":"1016140545","full_name":"vinit-devops/python-practice-exercises","owner":"vinit-devops","description":"Python exercises for practicing core concepts, improving coding skills, and preparing for technical interviews.","archived":false,"fork":false,"pushed_at":"2025-07-09T13:40:26.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-09T14:31:37.938Z","etag":null,"topics":["learn-to-code","learning-by-doing","practice-programming","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vinit-devops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-08T14:47:55.000Z","updated_at":"2025-07-09T13:40:30.000Z","dependencies_parsed_at":"2025-07-09T14:33:38.637Z","dependency_job_id":"2f6094a4-6141-4d02-b449-9807fadbbb15","html_url":"https://github.com/vinit-devops/python-practice-exercises","commit_stats":null,"previous_names":["vinit-devops/python-practice-exercises"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vinit-devops/python-practice-exercises","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinit-devops%2Fpython-practice-exercises","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinit-devops%2Fpython-practice-exercises/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinit-devops%2Fpython-practice-exercises/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinit-devops%2Fpython-practice-exercises/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinit-devops","download_url":"https://codeload.github.com/vinit-devops/python-practice-exercises/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinit-devops%2Fpython-practice-exercises/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34423233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["learn-to-code","learning-by-doing","practice-programming","python"],"created_at":"2026-06-16T21:01:40.307Z","updated_at":"2026-06-16T21:01:41.966Z","avatar_url":"https://github.com/vinit-devops.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python Practice Exercises\n\nA comprehensive collection of Python programming exercises organized into Jupyter notebooks for practicing core concepts, improving coding skills, and preparing for technical interviews.\n\n## 📚 Overview\n\nThis repository contains **398 carefully curated Python exercises** covering fundamental programming concepts, NumPy operations, and data structures \u0026 algorithms. Each exercise includes:\n\n- Clear problem statement with examples\n- Input/output examples for better understanding\n- Complete solutions with code\n- Hints where applicable\n\n## 📁 Repository Structure\n\nThe repository is organized into three main Jupyter notebooks:\n\n### 1. `basic python.ipynb` (148 Questions)\nComprehensive Python programming exercises covering:\n\n- **Fundamentals**: Variables, data types, operators, input/output\n- **Control Flow**: Conditional statements (if/else), loops (for/while)\n- **Data Structures**: Lists, tuples, dictionaries, sets\n- **Functions**: Function definition, recursion, lambda functions, generators\n- **Object-Oriented Programming**: Classes, inheritance, encapsulation, polymorphism\n- **File Operations**: Reading/writing files, CSV, JSON processing\n- **Advanced Topics**:\n  - Regular expressions (regex)\n  - Exception handling (try/except)\n  - Modules and packages\n  - Web scraping (requests, BeautifulSoup)\n  - Database operations (SQLite)\n  - PDF processing (PyPDF2)\n  - GUI programming (tkinter)\n  - Scientific computing (NumPy, pandas, matplotlib)\n\n### 2. `numpy.ipynb` (100 Questions)\nNumPy-focused exercises covering:\n\n- **Array Creation**: Various methods to create arrays\n- **Array Manipulation**: Reshaping, slicing, concatenation, splitting\n- **Mathematical Operations**: Element-wise operations, linear algebra\n- **Random Sampling**: Random number generation, distributions\n- **Sorting \u0026 Searching**: Finding elements, sorting arrays\n- **Statistics**: Mean, median, standard deviation, percentiles\n- **Set Operations**: Union, intersection, difference\n- **Boolean Indexing**: Conditional selection\n- **Broadcasting**: Array operations with different shapes\n\n### 3. `dsa.ipynb` (150 Questions)\nData Structures and Algorithms problems including:\n\n- **Arrays**: Two pointers, sliding window, subarray problems\n- **Strings**: Pattern matching, palindromes, anagrams\n- **Linked Lists**: Reversal, merging, cycle detection\n- **Trees**: Binary trees, BST, traversal methods, tree construction\n- **Graphs**: DFS, BFS, shortest path, topological sort\n- **Dynamic Programming**: Memoization, tabulation, optimization problems\n- **Backtracking**: Permutations, combinations, N-Queens\n- **Heap/Priority Queue**: Kth largest, merge k sorted lists\n- **Binary Search**: Search in sorted/rotated arrays\n- **Tries**: Prefix trees, word search\n- **Design Problems**: LRU Cache, data stream problems\n\n## 🎯 How to Use\n\n1. **Clone the repository**:\n   ```bash\n   git clone \u003crepository-url\u003e\n   cd python-practice-exercises\n   ```\n\n2. **Open Jupyter Notebook**:\n   ```bash\n   jupyter notebook\n   ```\n\n3. **Choose a notebook** based on what you want to practice:\n   - Start with `basic python.ipynb` for fundamentals\n   - Move to `numpy.ipynb` for numerical computing\n   - Practice `dsa.ipynb` for interview preparation\n\n4. **Work through exercises**:\n   - Read each question carefully\n   - Try to solve it yourself first\n   - Review the solution if needed\n   - Experiment with the code\n\n## 📝 Exercise Format\n\nEach exercise follows this structure:\n\n```markdown\n## Question X\n\n[Problem description with clear requirements]\n\n**Example:**\n```\nInput: [example input]\nOutput: [example output]\nExplanation: [brief explanation]\n```\n\n**Hints:** [if applicable]\n\n# Solution X\n\n[Complete working solution with comments]\n```\n\n## 🛠️ Requirements\n\n- Python 3.7+\n- Jupyter Notebook or JupyterLab\n- Required packages (install as needed):\n  ```bash\n  pip install numpy pandas matplotlib beautifulsoup4 requests PyPDF2\n  ```\n\n## 📊 Statistics\n\n- **Total Questions**: 398\n  - Basic Python: 148 questions\n  - NumPy: 100 questions\n  - Data Structures \u0026 Algorithms: 150 questions\n\n## 🎓 Learning Path\n\n**For Beginners**:\n1. Start with `basic python.ipynb` (Questions 1-50)\n2. Focus on fundamentals: variables, conditionals, loops\n3. Practice data structures: lists, dictionaries\n4. Learn file I/O and basic modules\n\n**For Intermediate Learners**:\n1. Complete remaining `basic python.ipynb` questions\n2. Explore OOP concepts\n3. Work through `numpy.ipynb` for numerical computing\n4. Practice with libraries: pandas, matplotlib\n\n**For Advanced/Interview Prep**:\n1. Focus on `dsa.ipynb` problems\n2. Practice time/space complexity analysis\n3. Review solutions and optimize code\n4. Solve similar problems on LeetCode/HackerRank\n\n## 💡 Tips\n\n- **Don't just read** - Type out solutions yourself\n- **Experiment** - Modify solutions and see what happens\n- **Understand** - Make sure you understand why a solution works\n- **Practice regularly** - Consistency is key to improvement\n- **Solve without hints first** - Challenge yourself before looking at solutions\n\n## 📄 License\n\nSee [LICENSE](LICENSE) file for details.\n\n## 🤝 Contributing\n\nFeel free to:\n- Report issues or suggest improvements\n- Add more exercises (following the existing format)\n- Improve existing solutions\n- Add more examples or explanations\n\n## 📚 Additional Resources\n\n- [Python Official Documentation](https://docs.python.org/3/)\n- [NumPy Documentation](https://numpy.org/doc/)\n- [LeetCode](https://leetcode.com/) - For additional DSA practice\n- [HackerRank](https://www.hackerrank.com/) - For coding challenges\n\n---\n\n**Happy Coding! 🚀**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinit-devops%2Fpython-practice-exercises","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinit-devops%2Fpython-practice-exercises","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinit-devops%2Fpython-practice-exercises/lists"}