Computer Science

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:

  1. 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.
  2. 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}

Python

Python Stack

5 Likes

Answer

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)

Output

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

Answered By

2 Likes


Related Questions