Header Ad

HackerRank Collections.namedtuple() solution in python

In this HackerRank Collections.namedtuple() problem solution in python Basically, namedtuples are easy to create, lightweight object types.

They turn tuples into convenient containers for simple tasks.

With namedtuples, you don’t have to use integer indices for accessing members of a tuple.

Dr. John Wesley has a spreadsheet containing a list of student's IDs, marks, class and name.

Your task is to help Dr. Wesley calculate the average marks of the students.

HackerRank Collections.namedtuple() solution in python


Problem solution in Python 2 programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT
from collections import namedtuple
N = int(raw_input())
headers = raw_input()
student = namedtuple('Student',headers)
students = []
for i in range(N):
    students.append(student(*raw_input().split()))
print sum(list(map(lambda x: float(x.MARKS),students)))/len(students)


Problem solution in Python 3 programming.

N, headers, total = int(input()), list(input().split()), 0
for _ in range(N):
    total += int(list(input().split())[headers.index('MARKS')])
print(total/N)


Problem solution in pypy programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT
from collections import namedtuple
n, Student = input(), namedtuple('Student', raw_input())
print "%.2f" %( sum([float(stud.MARKS) for stud in [Student(*raw_input().split()) for _ in xrange(n)]]) / n )


Problem solution in pypy3 programming.

num_students = int(input())
relevant_pos = None
total = 0
for num in range(num_students + 1):
    if num == 0:
        titles = list(filter(lambda el: el != '', input().split(' ')))
        relevant_pos = titles.index('MARKS')
        continue
    total += int(list(filter(lambda el: el != '', input().split(' ')))[relevant_pos])

print(round(float(total) / num_students, 2))


Post a Comment

0 Comments