11.8. Exercises: Modules¶
Practice makes better. You will create a program that accomplishes the following:
Steps through a list of Yes/No questions.
Calls functions based on the user’s responses.
Rather than coding all of the functions from scratch, you are going to use existing modules to help assemble your project.
If your teacher added you to a Trinket course, complete the exercises there.
Otherwise, use the links below to code in your own free account.
11.8.1. Import Module Code¶
Lucky you! Most of the functions you need are in the
main.py, add a statement to import all functions from the
main.py, add code to import ONLY the
print_allfunction from the
askeyword to rename the imported
11.8.2. Finish Coding A New Module¶
random_select.py requires your attention.
Add code to complete the
random_from_listfunction. It should take a list as an argument and then return a randomly selected element from that list.
random_selectmodule into the
If you add any loose statements in the
random_select.py file, remember
to place them into a
11.8.3. Finish the Project¶
Now complete the project code.
The line references given below assume that you added no blank lines during
your work in the previous sections. If you did, do not worry. The comments
main.py will still show you where to add code.
Line 19: Call
display_resultsto print all of the tests and student scores. Be sure to pass in the correct arguments.
Line 23: Using dot notation, call
average_for_testto print the class average for each test. Use
Line 27: Call
average_for_student(with the proper arguments) to print each astronaut’s average score.
Line 30: Call
random_from_listto pick the next spacewalker from the
11.8.4. Sanity check!¶
Properly done, your output should look something like:
Would you like to display all scores? Y/N: y Name Math Fitness Coding Nav Communication Fox 95 86 83 81 76 Turtle 79 71 79 87 72 Cat 94 87 87 83 82 Hippo 99 77 91 79 80 Dog 96 95 99 82 70 Would you like to average the scores for each test? Y/N: y Math test average = 92.6%. Fitness test average = 83.2%. Coding test average = 87.8%. Nav test average = 82.4%. Communication test average = 76%. Would you like to average the scores for each astronaut? Y/N: y Fox's test average = 84.2%. Turtle's test average = 77.6%. Cat's test average = 86.6%. Hippo's test average = 85.2%. Dog's test average = 88.4%. Would you like to select the next spacewalker? Y/N: y Turtle is the next spacewalker.
In your output, the spacings for the test score columns will probably NOT line up perfectly. This is OK.
When we learn how to display output in a window other than the console, we will worry about making columns look nice.