93 lines
2.5 KiB
Python
93 lines
2.5 KiB
Python
|
# DSL - Assignment 2
|
||
|
|
||
|
students=[]
|
||
|
marks=[]
|
||
|
total_students_in=int(input("Total number of students are: \t"))
|
||
|
|
||
|
# Entering marks
|
||
|
def total_students_fn():
|
||
|
for i in range(total_students_in):
|
||
|
marks_in=int(input("Enter marks for DSA subject for each student (out of 50) (enter -1 for absent students): \t"))
|
||
|
marks.append(marks_in)
|
||
|
print("Marks of", total_students_in, "students in DSA subject are:", marks)
|
||
|
|
||
|
total_students_fn()
|
||
|
|
||
|
# Option 1 = Average
|
||
|
def average_marks():
|
||
|
for i in marks:
|
||
|
if i<0:
|
||
|
break
|
||
|
else:
|
||
|
average_calc=sum(marks)/total_students_in
|
||
|
print("Average score of", total_students_in, "is: \t", average_calc)
|
||
|
|
||
|
# Option 2 = Highest and lowest
|
||
|
def high_low():
|
||
|
mini=marks[0]
|
||
|
maxi=marks[0]
|
||
|
for i in range (len(marks)):
|
||
|
if (maxi<marks[i] and marks[i]>-1):
|
||
|
maxi=marks[i]
|
||
|
for j in range (len(marks)):
|
||
|
if (mini>marks[j] and marks[j]>-1):
|
||
|
mini=marks[j]
|
||
|
print("Highest marks are: \t", maxi)
|
||
|
print("Lowest marks are: \t", mini)
|
||
|
|
||
|
# Option 3 = Absent
|
||
|
def absent():
|
||
|
absent_count=0
|
||
|
for i in marks:
|
||
|
if i==-1:
|
||
|
absent_count+=1
|
||
|
print("Total number of absent students out of", total_students_in, "are: \t", absent_count)
|
||
|
|
||
|
# Option 4 = Highest freq
|
||
|
def high_freq():
|
||
|
freq_count=0
|
||
|
for i in range(len(marks)):
|
||
|
if (i>=0):
|
||
|
count=0
|
||
|
for j in range(len(marks)):
|
||
|
if (marks[i]==marks[j]):
|
||
|
count+=1
|
||
|
if (freq_count<count):
|
||
|
freq_count=count
|
||
|
else:
|
||
|
break
|
||
|
print("Highest frequency is: \t", freq_count)
|
||
|
|
||
|
# Choosing an option
|
||
|
def choose_optn():
|
||
|
while True:
|
||
|
print("Choose an operation to perform:")
|
||
|
print("1. Average score of all students")
|
||
|
print("2. Highest and lowest score out of all students")
|
||
|
print("3. Count of students absent for test")
|
||
|
print("4. Display marks with highest frequency")
|
||
|
print("5. Exit")
|
||
|
optn=int(input("Enter option number (1-5): \t"))
|
||
|
if optn==1:
|
||
|
average_marks()
|
||
|
print("Designed and Engineered by Kshitij")
|
||
|
elif optn==2:
|
||
|
high_low()
|
||
|
print("Designed and Engineered by Kshitij")
|
||
|
elif optn==3:
|
||
|
absent()
|
||
|
print("Designed and Engineered by Kshitij")
|
||
|
elif optn==4:
|
||
|
high_freq()
|
||
|
print("Designed and Engineered by Kshitij")
|
||
|
elif optn==5:
|
||
|
print("## Designed and Engineered by Kshitij\n## END OF CODE.")
|
||
|
quit()
|
||
|
else:
|
||
|
print("\n Invalid option selected. Please choose from range 1 to 5. \n")
|
||
|
choose_optn()
|
||
|
|
||
|
choose_optn()
|
||
|
|
||
|
## END OF CODE
|