This repository contains my solutions to the problem sets for CS50's Introduction to Programming with Python (CS50P).
Each folder corresponds to a specific problem set from the course, demonstrating concepts ranging from basic variables to Object-Oriented Programming (OOP) and File I/O.
- Indoor Voice: String methods and basic input.
- Playback Speed: String manipulation.
- Making Faces: Custom functions and return values.
- Einstein: Mathematics and variables.
- Tip Calculator: Float operations.
- Deep Thought: Basic equality checks.
- Home Federal Savings Bank: String comparison and formatting.
- File Extensions: Suffix checking.
- Math Interpreter: arithmetic logic.
- Meal Time: Time conversion and logical operators.
- Camel Case: String iteration and list manipulation.
- Coke Machine: While loops and integer handling.
- Just setting up my twttr: Vowel removal algorithms.
- Vanity Plates: Complex validation logic.
- Nutrition Facts: Dictionaries (Key-Value pairs).
- Fuel Gauge: Try/Except blocks for error handling.
- Felipe’s Taqueria: KeyErrors and infinite loops.
- Grocery List: Sorting and counting.
- Outdated: Date parsing and validation.
- Emojize: Using external packages (
emoji). - Frank, Ian and Glen’s Letters: ASCII art with
pyfiglet. - Adieu, Adieu: The
inflectlibrary for natural language. - Guessing Game: Randomization and input validation.
- Little Professor: Game logic and scoring.
- Bitcoin Price Index: API requests using
requestsand JSON parsing.
- Testing my twttr:
pytestbasics. - Back to the Bank: Testing conditionals.
- Re-requesting a Vanity Plate: Testing boolean logic.
- Refueling: Testing exceptions.
- Lines of Code: Reading files and complexity analysis.
- Pizza Py: CSV reading and
tabulate. - Scourgify: CSV writing and data cleaning.
- CS50 P-Shirt: Image manipulation with
Pillow.
- Numb3rs: IPv4 validation.
- Watch on YouTube: HTML parsing with Regex.
- Working 9 to 5: Time format standardization.
- Regular, um, Expressions: Counting patterns.
- Response Validation: Email validation using libraries.
- Seasons of Love: Date classes and operator overloading.
- Cookie Jar: Class properties and custom methods.
- CS50 Shirtificate: PDF generation with
fpdf2.
My final project, a Password Manager, is located in a separate repository. View the Final Project Here
To run any of the files, navigate to the specific directory and run python:
cd indoor
python indoor.pyTo install the required libraries for Weeks 4-8:
pip install -r requirements.txtThis code is uploaded for educational and portfolio purposes only. If you are currently taking CS50P, please do not copy these solutions directly. The essence of the course lies in solving these problems yourself!