This repository contains solutions to problem sets for 🖥️CS50's Intro to Programming with Python (CS50P) 2022: https://cs50.harvard.edu/python/2022/
Week 0 - Functions, Variables
- Einstein - calculates e = mc^2
- Making Faces - replace :) and :( with emojis
- Indoor Voice - convert input to lowercase
- Playback Speed - replace ' ' with '...'
- Tip Calculator - calulates a tip given % tip and total bill
Week 1 - Conditionals
- Deep Thought - matches a response to certain user input
- Home Federal Savings Bank - returns different answers depending on user input
- File Extensions - determines filetype of a user input
- Math Interpreter - solves a user input math equation
- Meal Time - splits user input to determine if its mealtime
Week 2 - Loops
- camelCase - contverts camelCase str to camel_case str
- Coke Machine - adds valid coin inputs to buy a 50 cent bottle of coke
- Just setting up my twttr - removes vowels from user input string
- Vanity Plates - checks if desired vanity plate is valid given a variety of conditions
- Nutrition Facts - returns calorie content of a fruit from user input
Week 3 - Exceptions
- Fuel Gauge - Determines % gas tank fullness, checks input for ValueError and ZeroDivisionError
- Felipe's Taqueria - Creates a running tally of a menu order, terminates on ctl+D, ignores invalid menu entries
- Grocery List - creates a gocery list from user input, terminates on ctl+D, catches any KeyErrors
- Outdates - converts MM/DD/YYYY and Month Day, Year to YYYY-MM-DD, continually asks for proper input
Week 4 - Libraries
- Emojize - uses emoji library to return input as emoji
- Frank, Ian and Glen's Letters - Renders text in figlet fonts chosen by user's command line arg
- Adieu, Adieu - uses inflect library to print a list of names as "name, name, ... and name"
- Guessing Game - uses random library to make a number guessing game
- Little Professor - generates addition problems of varying difficulty based on user input
- Bitcoin Price Index - uses requests and json libraries to pull BTC price from site
Week 5 - Unit Tests
- Testing my twittr - tests prior function under various cases
- Back to the Bank - tests prior function under various cases
- Re-requesting a vanity plate - tests prior function under various cases
- Refueling - uses pytest to check for ZeroDivisionErrors and ValueErrors