Data Structures in Python — Question 20
Back to all questionsWrite a program to create a Stack for storing only odd numbers out of all the numbers entered by the user. Display the content of the Stack along with the largest odd number in the Stack.
(Hint: Keep popping out the elements from Stack and maintain the largest element retrieved so far in a variable. Repeat till Stack is empty.)
def push(stack, item):
stack.append(item)
def pop(stack):
if stack == []:
return None
return stack.pop()
def oddStack(num):
if num % 2 == 1:
push(stack, num)
def GetLargest(stack):
elem = pop(stack)
large = elem
while elem != None:
if large < elem:
large = elem
elem = pop(stack)
return large
n = int(input("How many numbers?"))
stack = []
for i in range(n):
number = int(input("Enter number:"))
oddStack(number)
print("Stack created is", stack)
bigNum = GetLargest(stack)
print("Largest number in stack", bigNum)How many numbers?8
Enter number:1
Enter number:2
Enter number:3
Enter number:4
Enter number:5
Enter number:6
Enter number:7
Enter number:8
Stack created is [1, 3, 5, 7]
Largest number in stack 7
def
push
(
stack
,
item
):
stack
.
append
(
item
)
def
pop
(
stack
):
if
stack
==
[]:
return
None
return
stack
.
pop
()
def
oddStack
(
num
):
if
num
%
2
==
1
:
push
(
stack
,
num
)
def
GetLargest
(
stack
):
elem
=
pop
(
stack
)
large
=
elem
while
elem
!=
None
:
if
large
<
elem
:
large
=
elem
elem
=
pop
(
stack
)
return
large
n
=
int
(
input
(
"How many numbers?"
))
stack
=
[]
for
i
in
range
(
n
):
number
=
int
(
input
(
"Enter number:"
))
oddStack
(
number
)
print
(
"Stack created is"
,
stack
)
bigNum
=
GetLargest
(
stack
)
print
(
"Largest number in stack"
,
bigNum
)
Output
How many numbers?8
Enter number:1
Enter number:2
Enter number:3
Enter number:4
Enter number:5
Enter number:6
Enter number:7
Enter number:8
Stack created is [1, 3, 5, 7]
Largest number in stack 7