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)
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.