Question

    What will be the output of the following code when the pop method is executed?

    class Stack:

        def __init__(self):

            self.stack = []

        def push(self, item):

            self.stack.append(item)

        def pop(self):

            if not self.isEmpty():

                return self.stack.pop()

            else:

                return "Stack is empty"

        def isEmpty(self):

            return len(self.stack) == 0

    s = Stack()

    s.push(10)

    s.push(20)

    s.push(30)

    output = s.pop()

    print(output)

    A 10 Correct Answer Incorrect Answer
    B 20 Correct Answer Incorrect Answer
    C 30 Correct Answer Incorrect Answer
    D Stack is empty Correct Answer Incorrect Answer
    E None Correct Answer Incorrect Answer

    Solution

    In the code, a stack is implemented using a list. The push method adds elements to the stack, and the pop method removes the top element. Initially, 10, 20, and 30 are pushed onto the stack. When pop is called, it removes the last element added, which is 30. Thus, the output is 30. Why Other Options Are Wrong: A) 10: This option is incorrect because 10 is the first element added to the stack and is at the bottom, not the top. B) 20: This option is incorrect as 20 is the second element, not the last pushed, so it remains in the stack after 30 is popped. D) Stack is empty: This option is incorrect because the stack is not empty; it still contains 10 and 20 after 30 is removed. E) None: This option is incorrect as it suggests that there is no output, while there is indeed a valid output being printed.

    Practice Next

    Relevant for Exams: