# --------------------------------------------------------------------------
#
# VEREM - speciális adatszerkezet - "Utolsókból lesznek az elsők"
#
# Alkalmazásai:
# sorozat megfordítása, lengyelforma és kiértékelése,
# helyes zárójelezés feldolgozása...
#
# --------------------------------------------------------------------------

v = []  # üres verem (inicializálás)
n = 10  # elhelyezhető elemek száma


# funkciók: üres-e, tele-e, veremből, verembe, üres

def üres_e(v):
    return len(v) == 0


def tele_e(v):
    return len(v) == n


def veremből(v):
    x = str(v.pop())
    return x


def verembe(v, x):
    v.append(x)


def üres():
    v.clear()


# 1. sorozat megfordítása

# Maximum 10 (vagy nulláig) elem beolvasása egy ciklussal
# és elhelyezése a verembe,
# majd a verem kiolvasása --> fordított sorrendű sorozat!

while True:
    print('Sorozat megfordítása verem segítségével!')

    # Adatbeolvasás ciklusa - 10-szer vagy '0' értékig
    i = 1
    x = ''
    üres()

    while not tele_e(v) and x != '0':
        x = input(str(i) + '. elem: ')
        if x != '0':
            verembe(v, x)
        i += 1

    # Sorozat megfordítása a verem kiolvasásával:
    while not üres_e(v):
        print(veremből(v), end=' ')
    print()

    if üres_e(v):
        print('A verem üres!')

    # Kilépés vagy ismétlés a "nagy" ciklusban - while True
    ismét = input('Ismételjük? (i/bármi)')
    if ismét.lower() != 'i':
        break