1.) Mad Libs
- Allows a user to respond to prompts and then generates a Mad Lib from the user's answers. - Concepts: - Multiline strings - Getting user input - `f-strings` - Printing data
Running app: Mad Libs
2.) Guess The Number
- Allows a user to guess a number between 1 and 10 and tells them if they are too high or too low. The user can keep guessing the number until they get it right. At the end, the user is told how many turns it took them to guess the number. - Concepts: - Random numbers - Boolean values - Counter-controlled repetition with `for` loops - Conditional logic - Incrementing a value in a variable - Converting user input to `int`
Running app: Guess The Number
3.) Random Nickname Generator
- Allows a user to enter a first and last name and then displays a full name with the random nickname in the middle. - Concepts: - Modules - Variables - Multiline strings - Comments - Printing - Getting user input - Using `f-strings` - Lists - Getting random values from a list
Running app: Random Nickname Generator
4.) Quiz App
- Allows a user to take a quiz and keeps track of correct/incorrect answers. Displays different messages based on the number of answers the user got correct. - Concepts: - Dictionaries - Looping through dictionaries - Using `len()` to get the length of a sequence - Incrementing a numeric value - Conditional statements
Running app: Programming Languages Quiz
5.) Strong Password Generator
- Allows a user to enter the desired password length and then creates a secure password with random letters, numbers, and punctuation. - Concepts: - The `string` module - Generating random integers - Creating named constants for options - `for` loops - Only showing counter-controlled repetition with the `range()` function here - Conditional statements - Building `str` with `+=` - Converting user input to `int` with `int()`
Running app: Strong Password Generator
6.) Python Chatbot
- Allows a user to interact with a Chatbot, which will respond to certain standard commands and do things like give the user a random fact, perform math, etc. - Concepts: - Conditional statements - Selecting random items from a list - Indefinite looping - Ending a loop with the `break` statement - `str` methods - Lists
Running app: Python Chatbot
7.) Atbash Cipher
- Allows a user to enter a message, and then returns the encrypted or decrypted version using the Atbash Cipher. - Concepts: - User-defined functions - Function parameters, return values - Looping through a sequence with `for` loops - Complex conditional statements - Membership testing with the `in` operator - `str` methods - Indexing `str` - Method chaining
Running app: Atbash Cipher
8.) Video Game Browser
- Allows a user to view a large list of video games with their release dates, titles, and platform. The user can search through the data by keyword to get information about a game matching the search term. - Concepts: - Reading CSV files - Multiple assignment - Building a list by iterating through a sequence - Indefinite loops - Conditional statements - f-strings
Running app: Video Game Browser
9.) Random Dad Jokes
- Allows a user to get random Dad jokes consisting of a setup and punchline from a Dad Jokes API. - Concepts: - Requesting data from an API - Parsing JSON data - Dictionaries - User-defined functions - Indefinite loops - Conditional statements - User input
Running app: Random Dad Jokes
10.) Current Weather App
- Allows a user to get the current temperature, conditions, and wind speed for any city they wish. - Concepts: - Requesting data from an API that requires an API key - Parsing JSON data - Dictionaries - User-defined functions - Indefinite loops - Encoding query parameters
Running app: Current Weather App