Cześć!
Mam na zajęciach w technikum zaprogramować stos w pythonie i zawrzeć elementy dodawania i usuwania ze stosu. Póki co wpadłem na coś takiego:
import random
random.seed()
print('Podaj ilu znakowy ma byc stos')
wielkosc=int(input())
print(' ')
operacja=0
class stos:
def __init__ (self): # quasi konstruktor
self.stos = [] # Self wywoluje metode z klasy nadrzednej
def Empty(self): # Sprawdza czy stos jest pusty
# self.operacja=operacja+1
if len(self.stos) == 0 : return True
# print('Stos jest pusty')
else : return False
def Push(self, a): # Dodawanie elementow
self.stos.append(a)
#print('Element zostal dodany do stosu')
# self.operacja=operacja+1
def Pop(self): # Usuwanie elementu
self.stos.pop(len(self.stos)-1) #zdejmowanie ostatniego elementu ze stosu i odejmowanie 1
#print('Element zostal usuniety ze stosu')
# self.operacja=operacja+1
def Size(self):
return len(self.stos)
# operacja=operacja+1
def Top(self): # Zwraca ostatni element
return self.stos[ len(self.stos)-1 ]
# operacja=operacja+1
# def Empty(self): # Sprawdza czy stos jest pusty
# if len(self.stos) == 0 : return True
# else : return False
# Przykladowe dzialania
stos2 = stos()
for i in range(0, wielkosc) : stos2.Push(i)
l = stos2.Size()
print 'Ilosc elementow stosie :', wielkosc
print 'Obiekty na stosie :',
for i in range(l) :
print stos2.Top(),
stos2.Pop()
print 'Dodaj element do stosu. Podaj dowolna liczbe z podanego wczesniej zakresu'
liczba1=int(input())
stos.append(liczba1)
def Push(self, liczba1): # Dodawanie elementow
self.stos.append(liczba1)
def Pop(self): # Usuwanie elementu
self.stos.pop(len(self.stos)-1)
#print 'Liczba wykonanych operacji', operacja
Niestety to zupełnie nie działa. W pierwszej części kodu ustawiam całą klasę stos. W drugiej chce się do niej odwołać, dodając z klawiatury nowe elementy. Docelowo najlepiej by było gdyby program losował np. 30 wartości, potem je dodawał prezentując na ekranie każdy krok. Pomożecie coś młodemu programiście?