Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The local driver\'s license office has asked you to create a Python application

ID: 3538568 • Letter: T

Question

The local driver's license office has asked you to create a Python application that grades the written portion of the driver's license exam. The exam has 20 multiple choice questions. Here are the answers
1. B , 2. D, 3. A, 4. A, 5. C, 6. A, 7. B, 8. A, 9.C, 10.D, 11.B, 12.C, 13.D, 14.A, 15.D, 16.C, 17.C, 18.B, 19.D, 20.A

Your program should store these correct answers in a list. The program should read the student's answer for each of the 20 questions from a text file and store the answers in another list. 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. (Must answer 15 correctly to pass). It should then display the total number of correct answered questions, the number of incorrect, and a list showing the question numbers of the incorrect answers.


Thanks in advance

Explanation / Answer

#assumes student answers are stored in a file called "answers.txt" in same folder as this code

#Written for python2.x

import sys

correct=['B' , 'D', 'A', 'A', 'C', 'A', 'B', 'A', 'C', 'D', 'B', 'C', 'D', 'A', 'D', 'C', 'C', 'B', 'D', 'A' ]

ans=[]

c=0

i=0

i_list=[]

f=open("answers.txt")

for line in f:

line=line.strip()

ans.append(line[-1])

for x in range(20):

if correct[x]==ans[x]:

c=c+1

else:

i=i+1

i_list.append(x+1)

if c>=15:

print("Student has Passed the exam")

else:

print("Student has Failed the exam")

print('Number of Correct answers: '+str(c))

print('Number of Incorrect answers: '+str(i))

incorrect=",".join([str(x) for x in i_list])

if i>0:

print("List of Questions answered incorrectly: "+incorrect)