English

A stack named FruitStack, implemented using list, contains records of some fruits. Each record is represented as a dictionary with keys 'Name', 'Origin', 'Price', and 'Expiry'. A sample record - Computer Science (Python)

Advertisements
Advertisements

Question

A stack named FruitStack, implemented using list, contains records of some fruits. Each record is represented as a dictionary with keys 'Name''Origin''Price', and 'Expiry'. A sample record is given here:
{'Name' : 'Apple', 'Origin' : 'France', 'Price' : 120, 'Expiry' : '12-08-2025'}

Write the following user-defined functions in Python to perform the specified operations on FruitStack:

  1. push_fruit(FruitStack, Fruit): This function takes the stack FruitStack and a new record Fruit as arguments and pushes the record stored in Fruit onto FruitStack if the Price is less than 100.
  2. pop_fruit(FruitStack): This function pops the topmost record from the stack and returns it. If the stack is already empty, the function should display "UNDERFLOW".
  3. display(FruitStack): This function displays all the elements of the stack starting from the topmost element. If the stack is empty, the function should display 'EMPTY STACK'.
Code Writing
Advertisements

Solution

# (i) Function to push a record onto the stack based on price
def push_fruit(FruitStack, Fruit):
    if Fruit['Price'] < 100:
        FruitStack.append(Fruit)

# (ii) Function to pop the topmost record from the stack
def pop_fruit(FruitStack):
    if len(FruitStack) == 0:
        print("UNDERFLOW")
        return None
    else:
        return FruitStack.pop()

# (iii) Function to display all elements from top to bottom
def display(FruitStack):
    if len(FruitStack) == 0:
        print("EMPTY STACK")
    else:
        # Range starts from the last index down to 0
        for i in range(len(FruitStack) - 1, -1, -1):
            print(FruitStack[i])
shaalaa.com
  Is there an error in this question or solution?
2025-2026 (March) Set 4

APPEARS IN

Share
Notifications

Englishहिंदीमराठी


      Forgot password?
Use app×