학생의 답변 목록을 정답 목록과 비교하여 정답 수를 계산하는 것이 프로그램의 목표입니다. 답안 키는 문자열 목록으로 저장되고 학생 답은 텍스트 파일에서 읽은 다음 대답 키와 일치하도록 대문자로 변환됩니다.Python - 두 목록 비교 및 잘못된 결과 얻기
#Read student answer file
student_answers = infile.read()
#Convert student answer to all caps
student_answers = [answer.upper() for answer in student_answers]
내 프로그램은 오류없이 실행되지만 두 목록을 비교 한 결과가 잘못되었습니다. 답변 중 3 개만 정확하고 20 개의 정답이 표시됩니다. 아래는 내가 지금까지 가지고있는 관련 코드입니다. 그리고 출력 Program Output Image의 스크린 샷도 포함 시켰습니다. 질문 1,3,5,7 및 25 만 잘못된 것으로 표시해야합니다. 내가 두 목록을 모두 체크하고 그들은 정확한 정보를 포함하므로 입력 오류가 아닙니다. 내가 잘못 될 수있는 부분에 대한 안내는 감사하겠습니다.
for studentLine, keyLine in zip(Student, TestKey):
keyAnswer = keyLine.split()
studentAnswer = studentLine.split()
#Compare student answer to test key
if studentAnswer == keyAnswer:
correct += 1
percent_score += 4
print('Good job! Question ', index + 1, 'is correct!')
index +=1
if studentAnswer != keyAnswer:
incorrect += 1
incorrect_list.append(index + 1)
print('The correct answer to question ', index + 1, 'is ', TestKey[index])
index +=1
비교 값을 인쇄 해보십시오. 그것은 일을 정리할 것입니다. 또한, if if studentAnswer! = keyAnswer :를 else :'로 대체하십시오. – CristiFati
아아 완벽, 공백을 제거하는 것을 잊었습니다. 매우 감사! –