Apr 16, 2025 | 333 words | 3 min read
9.2.1. Capital Quiz#
Instructions#
Write a function named get_state_data
that loads state capital data
from the provided file state_capitals.txt
. The function should then
return this data as a dictionary with the state names as keys and the state
capitals as values. Your program may assume that the state names are unique,
but must not assume that the state capital names are unique.
Then write the main
function of this program so that it will quiz the
user by asking them to enter the capital for a particular state. The states
should be asked in a randomized order and the answers should not be
case-sensitive. If the user answers correctly, that state should not be asked
again, but if the user answers incorrectly, that state should be added to the
end of the quiz so that it will be asked again. In this way, states should be
asked as many times as necessary for the user to answer correctly. The program
ends after all the state capitals have been entered correctly, or the user
enters ‘0’. The program should also keep track of the number of correct and
incorrect responses, and at the end of the quiz it should report how many
questions were answered correctly and how many in total were asked.
Sample Output#
Test your program by attempting at least 10 quiz questions. Be sure to include both correct and incorrect responses and a response of ‘0’.
Use the values in Table 9.1 below to test your program.
Case |
User Input |
---|---|
1 |
0 |
2 |
Annapolis, Cheyenne, Jackson, Lincoln, Honolulu, Atlanta, Frankfort, Sacramento, Lansing, Pappy’s Purple, 0 |
Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.
Case 1 Sample Output
$ python3 capital_quiz_login.py What is the capital of South Carolina (enter 0 to quit)? 0 You didn't answer any questions.
Case 2 Sample Output
$ python3 capital_quiz_login.py What is the capital of Maryland (enter 0 to quit)? Annapolis That is correct! What is the capital of Alaska (enter 0 to quit)? Cheyenne That is incorrect. The capital of Alaska is Juneau. What is the capital of Mississippi (enter 0 to quit)? Jackson That is correct! What is the capital of Nebraska (enter 0 to quit)? Lincoln That is correct! What is the capital of Hawaii (enter 0 to quit)? Honolulu That is correct! What is the capital of Georgia (enter 0 to quit)? Atlanta That is correct! What is the capital of Kentucky (enter 0 to quit)? Frankfort That is correct! What is the capital of California (enter 0 to quit)? Sacramento That is correct! What is the capital of Michigan (enter 0 to quit)? Lansing That is correct! What is the capital of Wyoming (enter 0 to quit)? Pappy's Purple That is incorrect. The capital of Wyoming is Cheyenne. What is the capital of Rhode Island (enter 0 to quit)? 0 You answered 80.0% of the questions correctly.
Deliverables#
Save your finished program as capital_quiz_login.py
, replacing
login
with your Purdue login. Then submit it along with all the
deliverables listed in
Table 9.2 below.
Deliverable |
Description |
---|---|
|
Your finished program. |
Screenshot(s) |
PNG(s) capturing both test cases. |