Skip to content

Instantly share code, notes, and snippets.

@piyush2896
Created October 27, 2018 20:29
Show Gist options
  • Save piyush2896/e510c402bd4c9412df17ee1066e08a98 to your computer and use it in GitHub Desktop.
Save piyush2896/e510c402bd4c9412df17ee1066e08a98 to your computer and use it in GitHub Desktop.
def get_grade(marks):
if marks >= 80:
return 'A'
elif marks >= 65:
return 'B'
elif marks >= 50:
return 'C'
elif marks >= 35:
return 'D'
return 'E'
name = input('Enter Student Name: ')
roll_no = int(input('Enter Roll No: '))
subjects_list = ['Maths',
'Physics',
'Chemistry',
'English',
'Python']
print('\n' + '-' * 10 + 'GRADING CRITERIA' + '-' * 10)
print('|{:10s}|{:^23s}|'.format('A', '>=80%'))
print('|{:10s}|{:^23s}|'.format('B', '>=65% and < 80%'))
print('|{:10s}|{:^23s}|'.format('C', '>=50% and < 65%'))
print('|{:10s}|{:^23s}|'.format('D', '>=35% and < 50%'))
print('|{:10s}|{:^23s}|'.format('E', '<35%'))
print('-' * 36)
marks = []
subject_grade = []
for subject in subjects_list:
subject_marks = float(input('Enter marks in subject ' + subject + ':'))
subject_grade.append(get_grade(subject_marks))
marks.append(subject_marks)
average_marks = sum(marks) / len(marks)
grade = get_grade(average_marks)
print('\n\n')
print('-' * 20 + 'Student Report' + '-' * 20)
print('NAME: ' + name)
print('ROLL NO.: ' + str(roll_no))
print('-' * 54)
print('|{:20s}|{:20s}|{:10s}|'.format('Subject',
'Marks',
'Grade'))
print('-' * 54)
for i in range(len(subjects_list)):
print('|{:20s}|{:20s}|{:10s}|'.format(subjects_list[i],
str(marks[i]),
subject_grade[i]))
print('-' * 54)
print('Overall Grade: ' + grade)
print('Percentage: ' + str(average_marks) + '%')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment