SHARE
SPREAD
HELP

The Tradition of Sharing

Help your friends and juniors by posting answers to the questions that you know. Also post questions that are not available.


To start with, Sr2Jr’s first step is to reduce the expenses related to education. To achieve this goal Sr2Jr organized the textbook’s question and answers. Sr2Jr is community based and need your support to fill the question and answers. The question and answers posted will be available free of cost to all.

 

#
Authors:
Tony Gaddis
Chapter:
Lists And Tuples
Exercise:
Programming Exercises
Question:6 | ISBN:9780132576376 | Edition: 2

Question

Driver’s License Exam
The local driver’s license office has asked you to create an application that grades the written portion of the driver’s license exam. The exam has 20 multiple-choice questions. Here are the correct answers:
1. B 6. A 11. B 16. C
2. D 7. B 12. C 17. C
3. A 8. A 13. D 18. B
4. A 9. C 14. A 19. D
5. C 10. D 15. D 20. A
Your program should store these correct answers in a list. The program should read the student’s answers for each of the 20 questions from a text file and store the answers in another list. (Create your own text file to test the application.) After the student’s answers have been read from the file, the program should display a message indicating whether the student passed or failed the exam. (A student must correctly answer 15 of the 20 questions to pass the exam.) It should then display the total number of correctly answered questions, the total number of incorrectly answered questions, and a list showing the question numbers
of the incorrectly answered questions.

TextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbookTextbook

Answer

Driver's License Exam Program Code:

def grade_exam():
    # Correct answers
    correct_answers = ['B', 'D', 'A', 'A', 'C', 'A', 'B', 'A', 'C', 'D', 'B', 'C', 'D', 'A', 'D', 'C', 'C', 'B', 'D', 'A']
    
    # Read student's answers from a text file
    try:
        with open("student_answers.txt", "r") as file:
            student_answers = file.read().splitlines()
    except FileNotFoundError:
        print("Error: Student answers file not found.")
        return
    
    # Check the student's answers and calculate the results
    num_correct = 0
    num_incorrect = 0
    incorrect_questions = []
    
    for i in range(len(correct_answers)):
        if student_answers[i].upper() == correct_answers[i]:
            num_correct += 1
        else:
            num_incorrect += 1
            incorrect_questions.append(i + 1)
    
    # Display the results
    print("Total number of correctly answered questions:", num_correct)
    print("Total number of incorrectly answered questions:", num_incorrect)
    
    if num_correct >= 15:
        print("Congratulations! You passed the exam.")
    else:
        print("Sorry, you failed the exam.")
    
    if num_incorrect > 0:
        print("Incorrectly answered questions:", incorrect_questions)


# Call the function to grade the exam
grade_exam()

Data in "student_answers.txt" file:

B
D
A
A
C
A
B
A
C
D
B
C
D
A
D
C
B
B
C
A

Executed Output:

Total number of correctly answered questions: 18
Total number of incorrectly answered questions: 2
Congratulations! You passed the exam.
Incorrectly answered questions: [17, 19]

 

0 0

Discussions

Post the discussion to improve the above solution.