below program takes in a list of student data and prints the average marks.
input to the program
5
MARKS CLASS NAME ID
92 2 Calum 1
82 5 Scott 2
94 2 Jason 3
55 8 Glenn 4
82 2 Fergus 5
expected outpur
81.00
code
# Hello World program in Python
nr_students = int(raw_input())
keys = raw_input().split()
from collections import namedtuple
from collections import deque
student_data_point = namedtuple('student_data_point',keys)
student_data = deque() # No limitation on queue size
for i in range(nr_students):
student_data_point_raw = raw_input().split()
data_point_value = {}
for index, key in enumerate(keys):
data_point_value[key] = student_data_point_raw[index]
student_data.append(student_data_point(ID = data_point_value['ID'],
NAME = data_point_value['NAME'],
MARKS = data_point_value['MARKS'],
CLASS = data_point_value['CLASS']))
average_marks = reduce(lambda x,y: x+y, [int(data.MARKS) for data in student_data])
average_marks = float(average_marks)/float(len(student_data))
print(average_marks)