Двумерный список в Python

Попытка распечатать некоторые числа из двумерного списка.

У меня есть одна функция, которая должна распечатать среднюю оценку на одного учащегося. Другая функция должна распечатать среднее значение всех студентов вместе.

Как я могу получить доступ к этим числам и заставить их функционировать так, как я хочу? Я попытался добавить их в список, чтобы я мог получить 4 средних значения и затем перейти к /4, но это только добавление последнего среднего числа.

studentgrades = [ [95, 92, 86],[66, 75, 54],[89, 72, 100],[34, 0, 0] ]
def average_per_student(studentgrades):
    child = 0
    lst_average = []
    for cijfers in studentgrades:
        average = int(sum(cijfers) /3)
        child += 1
        result = 'child %d: gemiddelde %d' % (child, average)
        lst_average.append(result)
        vg = []
        print(average)
        vg.append(average)

    print(vg)
    return lst_average


def average_of_all_students(studentgrades):
    pass

resultaat1 = average_per_student(studentgrades)
# print(resultaat1)
resultaat2 = average_of_all_students(studentgrades)
# print(resultaat2)

1 ответ

Решение

Вы должны двигаться vg = [] вне for цикл, так что вы не будете повторно инициализировать его каждый раз. Затем вы инициализируете его один раз, добавляете по одному элементу на каждого учащегося, и в конце у него будет полный список из 4 средних значений по учащимся.

Другие вопросы по тегам