Цикл происходит дважды в пределах одного диапазона - PullRequest
0 голосов
/ 05 октября 2019

Я уже давно борюсь с этой проблемой, так как циклы меня немного смущают. По сути, я думаю, что я получил некоторые из более сложных вещей (по крайней мере для меня) с пути. Дело в том, что мне нужно в среднем 3 студента на экзамен, а не 6 студентов на экзамен, что и дает мой текущий код.

Если то, что я спрашиваю, неясно, дайте мне знать, и я его устранюup.

Мои входы n = 3 и m = 2.

def readGrade():
    grade = int(input("Enter the grade: "))
    while grade > 100 or grade < 0:
        print("Invalid Grade")
        grade = int(input("Enter the grade: "))
    return grade

def examAverage(m):
    average = 0
    for i in range(n):
        readGrade()
        average = average + readGrade()
    return (average / n)


n = int(input("Enter the number of students: "))
m = int(input("Enter the number of exams: "))


for i in range(m):
    print("The average of exam", i + 1, "is:", examAverage(m))

1 Ответ

1 голос
/ 05 октября 2019

Вы вызываете readGrade () два раза в examAverage ()

Я думаю, что именно таким должен быть examAverage ():

def examAverage(m):
    average = 0
    for i in range(n):
        this_grade = readGrade()
        average = average + this_grade 
    return (average / n)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...