CBSE Class 12 Computer Science
Question 51 of 63
Data Structures in Python — Question 25
Back to all questions 25
Question A dictionary stu contains rollno and marks of students. Two empty lists stack_roll and stack_mark will be used as Stack. Two functions Push_stu() and Pop_stu() are defined and perform the following operation:
- Push_stu(): It reads dictionary stu and adds keys into stack_roll and values into stack_marks for all students who secured more than 60 marks.
- Pop_stu(): It removes last rollno and marks from both list and prints "underflow" if there is nothing to remove.
For example,
stu={ 1 : 56, 2 : 45, 3 : 78, 4 : 65, 5 : 35, 6 : 90 }
Values of stack_roll and stack_mark after push_stu() function:
[3, 4, 6] and {78, 65, 90}
def Push_stu(stu, stack_roll, stack_mark):
for rollno, marks in stu.items():
if marks > 60:
stack_roll.append(rollno)
stack_mark.append(marks)
def Pop_stu(stack_roll, stack_mark):
if stack_roll and stack_mark:
print("Removed rollno:", stack_roll.pop())
print("Removed marks:", stack_mark.pop())
else:
print("Underflow - Nothing to remove")
stu = {1: 56, 2: 45, 3: 78, 4: 65, 5: 35, 6: 90}
stack_roll = []
stack_mark = []
Push_stu(stu, stack_roll, stack_mark)
print("Values of stack_roll and stack_mark after Push_stu() function:")
print(stack_roll, stack_mark)
print("\nThe output of first execution of Pop_stu() is:")
Pop_stu(stack_roll, stack_mark)Values of stack_roll and stack_mark after Push_stu() function:
[3, 4, 6] [78, 65, 90]
The output of first execution of Pop_stu() is:
Removed rollno: 6
Removed marks: 90