Who invented the Python language, when was it invented, and why is it called “Python”?
What is a variable? How is a variable similar to, and different from, a constant?
What are four different data types we have dealt with in this class, and how are they different from one another? How would you convert a variable of one data type into another data type in Python?
What is PEMDAS (please Google this, if necessary), and when do these rules apply in programs?
The operators * and + perform different operations depending on the data types of the operands, and some operations would not be allowed. Please discuss ways you can use these operators that are not mathematical in nature.
What line must appear in your program if you want to use randomization in Python?
What are a few examples of keywords in Python?
How do you designate a block of code in Python?
What is the difference between a list and a tuple? How do you declare these in Python?
What is meant by the “index” of a list or tuple member? Provide a simple code snippet where you use the index to output a list member to the screen.
How do you determine the length of a list, and how is the length different from the list’s highest index?
What does it mean for a list or tuple to be heterogeneous or homogeneous?
What is “scope”? When would you use global scope for variables or constants?
What is the difference between a parameter and an argument?
How could you construct a simple custom function that takes a person’s name and outputs the word “Hello, ” and the person’s name to the screen?
Share some basic source code for constructing a range check in Python, similar to the Flowgorithm Lab 2 (Speeding Tickets) or the Hugo Awards exercise.
Explain a couple ways you can prevent division by zero in a program.
What is a dead path? What is the best way to fix a dead path?
How would you use the range() function in a loop if you wanted to print, on its own line, the numbers 5 through 12?
How would you change the above program to have the user provide the start and end points of the loop, instead of hardcoding the range of numbers?
Let’s say you divide the program above into three different sections:
How can you use an if/elif/else structure inside the loop so that it creates a report like this?
For such a program as the one created above, how can you create a custom function that takes the value of the number (e.g., 5) as an argument and returns the correct line of the report (e.g., 5: below)?
Create a Rock, Paper, Scissors, Lizard, Spock game. This is a more complex contemporary variation on the classic Rock, Paper, Scissors game (of which there is a long an interesting history). For help in creating your game, you may see both the helper file (attached) as well as read Chapter 3(4) in the book called “booleans, decisions, and loops: Decisive Code”. The rules of the game are also covered here, with a very helpful diagram:
This exercise is worth a possible 8 extra credit points. To get all available points, please do all of the following:
1. Account for every possible combination in the game.
2. Validate the user’s entry of their choice when playing the game.
3. Allow the user to play multiple games before quitting the program.
4. Create at least one custom function (besides main() in the helper file).
5. Avoid all errors (syntax, logical, and runtime).
NOTE: If you search, you will definitely find helpful code online for this exercise, but as with writing you are not allowed to copy the code and claim it as your own. The point of the exercise is to give you a way to review and practice some concepts in the course. If you know of or discover another version of the game that is as equally complex or more complicated, you may choose that one instead; there seem to be many! Please cite any sources you use.