This repository is a collection of 100+ Python programming exercises with solutions, organized by difficulty level (Beginner/Level 1, Intermediate/Level 2, Advanced/Level 3). Each exercise includes a question, hints, and a solution. While not a production application, it contains numerous self-contained code snippets that demonstrate practical Python programming concepts and patterns. The exercises cover fundamentals like loops and conditionals, data structures, object-oriented programming, file operations, and advanced topics like generators, decorators, and standard library modules. The primary value lies in its reusable code examples that illustrate specific programming techniques.
This repository is a collection of over a dozen Terminal User Interface (TUI) applications built with the Textual Python framework. The apps serve educational and recreational purposes: interactive exercises for learning CLI tools (awk, sed, grep), Python regular expressions, Python programming fundamentals, and two original grid-based games (Connect Square, Square Tic Tac Toe). Each app is self-contained, with a similar architectural pattern: an App subclass defines widgets, binds keys, and handles user input. The exercise apps execute user commands via subprocess and compare output to expected results; the regex playground and Python exercises evaluate Python expressions in a sandbox; the games implement AI opponents using weight-based heuristics. The code is clean, well-structured, and consistently styled, though the exercise apps share a large amount of boilerplate. The repository is actively maintained (1015 stars, 0 open issues, recent commits) and demonstrates solid craftsmanship, particularly in the game AI algorithms and custom Textual widget subclasses.
This repository contains solutions to Harvard's CS50P (Introduction to Programming with Python) course problem sets, organized by week from Week0 to Week9. Each week features multiple standalone Python scripts that solve specific programming exercises, such as calculating tips, validating license plates, converting time formats, processing CSV files, and generating images or PDFs. The scripts are designed to be run from the command line, typically taking user input via `input()` and producing output via `print()`, with some utilizing external libraries for specialized tasks like emoji conversion, figure generation, or image manipulation. While many scripts are simple and focused on teaching basic programming concepts, several components demonstrate reusable, well-crafted patterns worthy of highlighting. Notable examples include the time-parsing function in Week1/meal.py (converting strings like '7:30 AM' to float hours), the license plate validation logic in Week2/plates.py (enforcing rules on length, character types, and number placement), the CSV transformation script in Week6/scourgify/scourgify.py (splitting 'Last, First' names into separate columns), the Jar class in Week8/jar/jar.py (modeling a container with deposit/withdraw operations), and the time-range conversion function in Week7/working/working.py (converting '9:00 AM to 5:00 PM' to 24-hour format). These components are isolated, self-contained, and could be extracted for reuse in other projects with minimal modification. The repository is actively maintained, with the most recent commit dated 2026-06-04. It relies on a few external libraries (such as `inflect`, `emoji`, `pyfiglet`, `tabulate`, `Pillow`, `validators`, and `fpdf`) for specific functionalities, but the core logic of the highlighted components uses only the standard library. There is no evidence of significant technical debt or outdated dependencies, indicating a low level of technical drift. The codebase serves as an excellent educational resource for beginner to intermediate Python programmers, showcasing practical problem-solving techniques.