Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
192 changes: 192 additions & 0 deletions Student result
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
# Python code for the Grade
# Calculator program in action


# Creating a dictionary which
# consists of the student name,
# assignment result test results
# and their respective lab results


# 1. Jack's dictionary

jack = { "name":"Jack Frost",

"assignment" : [80, 50, 40, 20],

"test" : [75, 75],

"lab" : [78.20, 77.20]

}


# 2. James's dictionary

james = { "name":"James Potter",

"assignment" : [82, 56, 44, 30],

"test" : [80, 80],

"lab" : [67.90, 78.72]

}


# 3. Dylan's dictionary

dylan = { "name" : "Dylan Rhodes",

"assignment" : [77, 82, 23, 39],

"test" : [78, 77],

"lab" : [80, 80]

}


# 4. Jessica's dictionary

jess = { "name" : "Jessica Stone",

"assignment" : [67, 55, 77, 21],

"test" : [40, 50],

"lab" : [69, 44.56]

}


# 5. Tom's dictionary

tom = { "name" : "Tom Hanks",

"assignment" : [29, 89, 60, 56],

"test" : [65, 56],

"lab" : [50, 40.6]

}


# Function calculates average

def get_average(marks):

total_sum = sum(marks)

total_sum = float(total_sum)

return total_sum / len(marks)


# Function calculates total average

def calculate_total_average(students):

assignment = get_average(students["assignment"])

test = get_average(students["test"])

lab = get_average(students["lab"])



# Return the result based

# on weightage supplied

# 10 % from assignments

# 70 % from test

# 20 % from lab-works

return (0.1 * assignment +

0.7 * test + 0.2 * lab)




# Calculate letter grade of each student

def assign_letter_grade(score):

if score >= 90: return "A"

elif score >= 80: return "B"

elif score >= 70: return "C"

elif score >= 60: return "D"

else : return "E"


# Function to calculate the total
# average marks of the whole class

def class_average_is(student_list):

result_list = []



for student in student_list:

stud_avg = calculate_total_average(student)

result_list.append(stud_avg)

return get_average(result_list)


# Student list consisting the
# dictionary of all students

students = [jack, james, dylan, jess, tom]


# Iterate through the students list
# and calculate their respective
# average marks and letter grade

for i in students :

print(i["name"])

print("=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=")

print("Average marks of %s is : %s " %(i["name"],

calculate_total_average(i)))



print("Letter Grade of %s is : %s" %(i["name"],

assign_letter_grade(calculate_total_average(i))))



print()




# Calculate the average of whole class

class_av = class_average_is(students)



print( "Class Average is %s" %(class_av))

print("Letter Grade of the class is %s "

%(assign_letter_grade(