Индекс строки вне диапазона при записи в определенной строке в текстовом файле - PullRequest
0 голосов
/ 25 февраля 2019

Почему он продолжает давать мне эту ошибку?У меня есть это в моем первом методе, но он не выдает ошибку, но когда я использую код во 2-м методе, он продолжает выдавать мне эту ошибку

Это мой первый метод, он работает хорошо,

    def btn_English(self):
    answerKey = open("answerkeyEnglish", 'r')
    studentExam = open("studentExam", 'r')
    index = 0
    numCorrect = 0

    for answerLine, studentLine in zip(answerKey, studentExam):
        answer = answerLine.split()
        studentAnswer = studentLine.split()
        if studentAnswer != answer:
            print("You got question number", index + 1, "wrong\nThe correct answer was", answer, "but you answered",
                  studentAnswer)
            index += 1
        else:
            numCorrect += 1
            index += 1
    gradeAverage = int((numCorrect / 2) * 100)
    grade = numCorrect
    english = open('examResult','w')
    english.write(str(grade))

и это второй метод, где он выдает ошибку.in english.write (str (grade) [2]).

    def btn_Math(self):
    answerKey = open("answerkeyEnglish", 'r')
    studentExam = open("studentExam", 'r')
    index = 0
    numCorrect = 0

    for answerLine, studentLine in zip(answerKey, studentExam):
        answer = answerLine.split()
        studentAnswer = studentLine.split()
        if studentAnswer != answer:
            print("You got question number", index + 1, "wrong\nThe correct answer was", answer, "but you answered",
                  studentAnswer)
            index += 1
        else:
            numCorrect += 1
            index += 1
    gradeAverage = int((numCorrect / 2) * 100)
    grade = numCorrect
    english = open('examResult','r')
    english.write(str(grade)[2])

Может кто-нибудь сказать мне, почему я получаю эту ошибку, потому что в первом методе это работает хорошо, но во втором методе это даетошибка?

1 Ответ

0 голосов
/ 25 февраля 2019

str(grade)[2] дает третий символ str(grade), который существует, только если grade является числом с 3 или более цифрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...