Make a program that reads an expression with parentheses. Using stacks, verify that the parentheses have been opened and closed in the correct order. Example:
(())
OK
()()(()())
OK
())
Error
You can add elements to the stack whenever you find an open parenthesis and unstack it whenever you find a closed one. When unstacking, make sure that the top of the stack is an open parenthesis. If the expression is correct, your stack will be empty at the end.
Answer:
##############################################################################
# Python From Scratch
# Author: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2010-2025 - LogiKraft 2025
# Site: https://pythonfromscratch.com
# ISBN: 978-85-7522-949-1 (Paperback), 978-85-7522-950-7 (hardcover), 978-85-7522-951-4 (ebook)
#
# File: chapter 06/exercise-06-18.py.py
##############################################################################
L = [1, 2, 3, 4, 5]
end = 5
while end > 1:
swapped = False
x = 0
while x < (end - 1):
if L[x] < L[x + 1]: # Only the verification condition was changed
swapped = True
temp = L[x]
L[x] = L[x + 1]
L[x + 1] = temp
x += 1
if not swapped:
break
end -= 1
for e in L:
print(e)