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...

GRADE XII CS - VIVA QUESTIONS

  VIVA QUESTIONS GRADE XII CS Dear All Be thorough with your project and practical files, as the viva can be asked from anywhere. Stay calm, don’t get nervous, and be confident in front of the examiner. 1. Tell me about your project. 2. Which concepts you have used for your project? 3. What do you mean by front end and back end? How they are important in developing any such projects? 4  Mention the modules and built-in functions you have used in your project. 5. Which real world problems are solved by your project? 6. Explain the most important feature of your project. 7. Name a few mutable data types of python. Lists, Sets, and Dictionaries 8. Name a few immutable data types of python. Strings, Tuples, Numeric 9. Name ordered and unordered data type of python. Ordered – String, List, Tuples Unordred – Set, Dictionaries 10. What is the significance of a pass statement in python? pass is no operation python statement. This is used where python requires syntax but logic requires...