Skip to main content

Grade XII - CS - Menu-Driven Stack Code | 14-10-25

 


PYTHON STACKS

LINK : PYTHON STACKS - NOTES


Menu-Driven Stack Program

# -*- coding: utf-8 -*-

"""

Created on Sun Oct 12 17:19:01 2025

@author: Kirti Hora

"""

'''

Menu-Driven Stack Program

1.PUSH

2.POP

3.DISPLAY

4. DISPLAY EVEN

'''

def push(stack):

    elements = input("Enter elements to push (separated by spaces): ").split()

    for item in elements:

        n = int(item)

        stack.append(n)

        print("Element pushed:", n)

    print("Current Stack:", stack)


def pop(stack):

    if len(stack) == 0:

        print("Stack Underflow! Stack is empty.")

    else:

        n = stack.pop()

        print("Deleted Element:", n)


def disp(stack):

    if len(stack) == 0:

        print("Stack Underflow! Stack is empty.")

    else:

        print("Stack elements (Top to Bottom):")

        for i in range(len(stack)-1, -1, -1):

            print(stack[i])


def dispeven(stack):

    if len(stack) == 0:

        print("Stack is empty.")

    else:

        cnt = 0

        print("Even elements in stack:")

        for i in range(len(stack)-1, -1, -1):

            if stack[i] % 2 == 0:

                print(stack[i], end=" ")

                cnt += 1

        if cnt == 0:

            print("No even elements found.")

        else:

            print("\nTotal even elements:", cnt)


# --- Main Program ---

stack = []

while True:

    print("\n1. PUSH")

    print("2. POP")

    print("3. DISPLAY")

    print("4. DISPLAY EVEN ELEMENTS")

    print("5. EXIT")


    ch = int(input("Enter Choice: "))


    if ch == 1:

        push(stack)

    elif ch == 2:

        pop(stack)

    elif ch == 3:

        disp(stack)

    elif ch == 4:

        dispeven(stack)

    elif ch == 5:

        print("Exiting... Thank you!")

        break

    else:

        print("Invalid Choice! Please enter between 1–5.")


QUE 2:
Write a program to create a stack containing employee data with Empcode, Empname and Salary represented as a list, . 
Include functions to: 
1. Push() - push the employee record into the stack 
2. Pop() - pop the employee record from the stack 
3. isempty() - check whether the stack is empty or not 
4. dispstack() - display all the employee records of the stack 
5. Display all employee records earning salary > user given 

Sol;
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 14 07:50:55 2025

@author: Kirti Hora
"""

# Stack implementation for Employee Records

def push(stack):
    empcode = input("Enter Employee Code: ")
    empname = input("Enter Employee Name: ")
    salary = float(input("Enter Salary: "))
    emp = [empcode, empname, salary]
    stack.append(emp)
    print("Employee record added successfully.\n")

def pop(stack):
    if isempty(stack):
        print("Stack is empty! Nothing to pop.\n")
    else:
        emp = stack.pop()
        print("Popped Employee Record:", emp, "\n")

def isempty(stack):
    return len(stack) == 0

def dispstack(stack):
    if isempty(stack):
        print("Stack is empty.\n")
    else:
        print("All Employee Records in Stack:")
        # Display from top (last element) to bottom (first element)
        for i in range(len(stack) - 1, -1, -1):
            print(stack[i])
        print()

def display_high_salary(stack):
    if isempty(stack):
        print("Stack is empty.\n")
    else:
        limit = float(input("Enter salary limit: "))
        print("Employees earning more than", limit, ":")
        found = False
        for emp in stack:
            if emp[2] > limit:
                print(emp)
                found = True
        if not found:
            print("No employee found with salary above given limit.\n")
        print()


# Main Program
stack = []
while True:
    print("1. Push Employee\n2. Pop Employee\n3. Display Stack\n4. Display Employees with Salary > Given Amount\n5. Exit")
    ch = input("Enter your choice: ")

    if ch == '1':
        push(stack)
    elif ch == '2':
        pop(stack)
    elif ch == '3':
        dispstack(stack)
    elif ch == '4':
        display_high_salary(stack)
    elif ch == '5':
        print("Exiting program...")
        break
    else:
        print("Invalid choice! Try again.\n")

QUE3:
A list containing records of products as:
L = [("Laptop", 90000), ("Mobile", 30000), ("Pen", 50), ("Headphones", 1500)]
Write the following user-defined functions to perform operations on a stack named Product to:

I. Push_element() – To push an item containing the product name and price of products costing more than 50 into the stack.
Output: [('Laptop', 90000), ('Mobile', 30000), ('Headphones', 1500)]

II. Pop_element() – To pop the items from the stack and display them. Also, display "Stack Empty" when there are no elements in the stack.
Output:
('Headphones', 1500)
('Mobile', 30000)
('Laptop', 90000)
Stack Empty

Sol:
L = [("Laptop", 90000), ("Mobile", 30000), ("Pen", 50), ("Headphones", 1500)]
Product = []   # Stack

def Push_element():
    for item in L:
        name, price = item
        if price > 50000:
            Product.append(item)
    print("Stack after pushing elements:", Product)
    print()

def Pop_element():
    if len(Product) == 0:
        print("Stack Empty")
    else:
        while len(Product) > 0:
            item = Product.pop()
            print(item)
        print("Stack Empty")


Push_element()
Pop_element()

QUE 4:

Vedika has created a dictionary containing names and marks as key-value pairs of 5 students. Write a program, with separate user-defined functions to perform the following operations:

  1. Push the keys (name of the student) of the dictionary into a stack, where the corresponding value (marks) is greater than 70.
  2. Pop and display the content of the stack.

The dictionary should be as follows:

d={“Ramesh”:58, “Umesh”:78, “Vishal”:90, “Khushi”:60, “Ishika”:95}

Then the output will be: Umesh Vishal Ishika

SOL:

def push(stk, item):
    stk.append(item)

def display(stk):
    for i in stk:
        print(i, end=" ")

stk = []
d = {"Ramesh":58, "Umesh":78, "Vishal":90, "Khushi":60, "Ishika":95}

for i in d:
    if d[i] > 70:
        push(stk, i)

display(stk)


#ABOVE CODE WITH USER INPUT IN DICTIONARY:
# Function to push elements into stack

def push(stk, item):
    stk.append(item)

# Function to pop elements from stack
def Pop(stk):
    if stk == []:
        return None
    else:
        return stk.pop()

# Create an empty dictionary
d = {}

# Take number of students
n = int(input("Enter number of students: "))

# Input names and marks
for i in range(n):
    name = input("Enter name of student: ")
    marks = int(input("Enter marks of student: "))
    d[name] = marks

# Initialize empty stack
stk = []

# Push names with marks > 70 into stack
for i in d:
    if d[i] > 70:
        push(stk, i)

# Pop and display stack contents
print("\nStudents with marks greater than 70 are:")
while True:
    if stk != []:
        print(Pop(stk), end=" ")
    else:
        break

Comments

Popular posts from this blog

PYTHON - MYSQL CONNECTIVITY CODE

  #INSERTION OF DATA import mysql.connector mydb = mysql.connector.connect( host="localhost", user="root", passwd="root", database="school" ) print("Successfully Connected") #print(mydb) mycursor=mydb.cursor()   v1=int(input("enter ID:")) v2=input("enter name:") v3=input("enter Gender:") v4=int(input("enter age:")) sql='insert into TEACH values("%d","%s","%s","%s")'%(v1,v2,v3,v4) print(sql) mycursor.execute(sql) mydb.commit() print("record added") #MYSQL Connection code – Deletion on database SOURCE CODE: s=int(input("enter id of TEACHER to be deleted:")) r=(s,) v="delete from TEACH where id=%s" mycursor.execute(v,r) mydb.commit() print("record deleted") MYSQL Connection code – Updation on database SOURCE CODE: import mysql.connector mydb = mysql.connector.c...

REVISION IF CONSTRUCT | CLASS TEST

                                                                                     CLASS TEST 1. Write a Python program that asks the user for their age, gender, and current fitness level (beginner, intermediate, or advanced). Based on this information, suggest a suitable fitness plan using if-else statements. Requirements: Inputs : Age (integer) Gender (male/female) Fitness level (beginner/intermediate/advanced) Outputs : Recommend a fitness plan that includes: Suggested workout duration. Type of exercises (e.g., cardio, strength, flexibility). Rest days. Logic : Use if-else to determine the plan based on conditions such as: Age group (e.g., <18, 18–40, >40). Fitness leve...