CODE:
print("Mark sheet Program using dictionary, tuple with while loop \n")
students = {}
bio = ('Student Name','Father Name','Class')
student_counter = 0
exit = False
values = ''
while exit == False:
student_counter += 1
student_details = {}
for bio_inp in range(0,len(bio)):
ans = input(bio[bio_inp].title()+": ")
student_details[bio[bio_inp].title()]=ans.title()
subList = True
subjects = {}
while subList:
sub = input('Input Subject: ')
marks = int(input("Input marks obtained out of 100: "))
if marks < 0 or marks >100:
print('Invalid Marks given. Must be in 1-100')
break
subjects[sub.title()] = marks
again = input("\nDo you want to enter more subject? [no]: ")
if again == '' or again.lower() == 'no':
subList = False
student_details['Marks'] = subjects
students['student'+str(student_counter)]=student_details
ask = input('\nDo you want to input marksheet record? [no]: ')
if ask == '' or ask.lower() == 'no':
exit = True
print('\nData input closed. Run program again\n')
elif ask.lower() == 'yes':
continue
else:
print('\nInvalid input! Abnormal closed. Run program again\n')
break
for stdkeys,stdval in students.items():
for std_bio,bio_data in stdval.items():
totmarks = 0
sumMarks = 0
percentage = 0
if std_bio!='Marks':
print(std_bio+" "+bio_data)
else:
for sub,marks in bio_data.items():
totmarks = totmarks + 100
sumMarks = sumMarks + marks
print('\t'+sub+": "+str(marks))
percentage = (sumMarks / totmarks) * 100
print("Total marks obtained: "+str(sumMarks)+" out of "+str(totmarks))
print("Securing percentage at: "+str(percentage)+"%")
if percentage >=80 and percentage <=100:
print("Grade: A+")
elif percentage >=70 and percentage <=79:
print("Grade: A")
elif percentage >=60 and percentage <=69:
print("Grade: B")
elif percentage >=50 and percentage <=59:
print("Grade: C")
elif percentage >=40 and percentage <=49:
print("Grade: D")
else:
print("Fail")
print('\n')
print(students)
OUTPUT:
Mark sheet Program using dictionary, tuple with while loop Student Name: hasan Father Name: JAWAID Class: 1 Input Subject: eng Input marks obtained out of 100: 70 Do you want to enter more subject? [no]: yEs Input Subject: urdu Input marks obtained out of 100: 60 Do you want to enter more subject? [no]: Do you want to input marksheet record? [no]: YES Student Name: ALI\ Father Name: hasan Class: 2 Input Subject: math Input marks obtained out of 100: 99 Do you want to enter more subject? [no]: yes Input Subject: sci Input marks obtained out of 100: 99 Do you want to enter more subject? [no]: Do you want to input marksheet record? [no]: Data input closed. Run program again Student Name Hasan Father Name Jawaid Class 1 Eng: 70 Urdu: 60 Total marks obtained: 130 out of 200 Securing percentage at: 65.0% Grade: B Student Name Ali Father Name Hasan Class 2 Math: 99 Sci: 99 Total marks obtained: 198 out of 200 Securing percentage at: 99.0% Grade: A+
print("Mark sheet Program using dictionary, tuple with while loop \n")
students = {}
bio = ('Student Name','Father Name','Class')
student_counter = 0
exit = False
values = ''
while exit == False:
student_counter += 1
student_details = {}
for bio_inp in range(0,len(bio)):
ans = input(bio[bio_inp].title()+": ")
student_details[bio[bio_inp].title()]=ans.title()
subList = True
subjects = {}
while subList:
sub = input('Input Subject: ')
marks = int(input("Input marks obtained out of 100: "))
if marks < 0 or marks >100:
print('Invalid Marks given. Must be in 1-100')
break
subjects[sub.title()] = marks
again = input("\nDo you want to enter more subject? [no]: ")
if again == '' or again.lower() == 'no':
subList = False
student_details['Marks'] = subjects
students['student'+str(student_counter)]=student_details
ask = input('\nDo you want to input marksheet record? [no]: ')
if ask == '' or ask.lower() == 'no':
exit = True
print('\nData input closed. Run program again\n')
elif ask.lower() == 'yes':
continue
else:
print('\nInvalid input! Abnormal closed. Run program again\n')
break
for stdkeys,stdval in students.items():
for std_bio,bio_data in stdval.items():
totmarks = 0
sumMarks = 0
percentage = 0
if std_bio!='Marks':
print(std_bio+" "+bio_data)
else:
for sub,marks in bio_data.items():
totmarks = totmarks + 100
sumMarks = sumMarks + marks
print('\t'+sub+": "+str(marks))
percentage = (sumMarks / totmarks) * 100
print("Total marks obtained: "+str(sumMarks)+" out of "+str(totmarks))
print("Securing percentage at: "+str(percentage)+"%")
if percentage >=80 and percentage <=100:
print("Grade: A+")
elif percentage >=70 and percentage <=79:
print("Grade: A")
elif percentage >=60 and percentage <=69:
print("Grade: B")
elif percentage >=50 and percentage <=59:
print("Grade: C")
elif percentage >=40 and percentage <=49:
print("Grade: D")
else:
print("Fail")
print('\n')
print(students)
OUTPUT:
Mark sheet Program using dictionary, tuple with while loop Student Name: hasan Father Name: JAWAID Class: 1 Input Subject: eng Input marks obtained out of 100: 70 Do you want to enter more subject? [no]: yEs Input Subject: urdu Input marks obtained out of 100: 60 Do you want to enter more subject? [no]: Do you want to input marksheet record? [no]: YES Student Name: ALI\ Father Name: hasan Class: 2 Input Subject: math Input marks obtained out of 100: 99 Do you want to enter more subject? [no]: yes Input Subject: sci Input marks obtained out of 100: 99 Do you want to enter more subject? [no]: Do you want to input marksheet record? [no]: Data input closed. Run program again Student Name Hasan Father Name Jawaid Class 1 Eng: 70 Urdu: 60 Total marks obtained: 130 out of 200 Securing percentage at: 65.0% Grade: B Student Name Ali Father Name Hasan Class 2 Math: 99 Sci: 99 Total marks obtained: 198 out of 200 Securing percentage at: 99.0% Grade: A+
No comments:
Post a Comment