2016-09-14 2 views
0

Пытается распечатать некоторые цифры из двумерного списка.Двумерный список в 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 средних показателя.

+0

Спасибо, я чувствую себя немым, потому что не вижу этого. Как я могу возвратить несколько значений в 1 заявлении печати? Я хочу удалить комментарий на print (resultaat1) и распечатать все средние числа учащихся с возвратом в моей функции. –

+0

Я не совсем уверен, что понимаю ваш вопрос. Вы можете вернуть значения 'lst_average' и' vg', выполнив 'return (lst_average, vg)' как кортеж. Затем вам нужно будет обновить вызывающие точки '(average_strings, average_values) = average_per_student (studentgrades)' или что-то в этом роде. –

+0

То, что я пытаюсь достичь, вместо того, чтобы помещать функцию print() в мою функцию, я хочу использовать возврат. Однако, когда я использую return, я не получаю те же значения, которые получаю, когда получаю с print(). –

Смежные вопросы