Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from enum import Enum
- class Sex (Enum):
- FEMININ=1
- MASCULIN=2
- class Persoana(object):
- def __init__(self,n,s):
- self.__nume=n
- self.__sex=s
- self.__link=None
- def __repr__ (self):
- return "\n Persoana nume:{} sex:{}".format(self.__nume, self.__sex)
- def getNume(self):
- return self.__nume
- def getSex(self):
- return self.__sex
- def getLink(self):
- return self.__link
- def setLink(self,newLink):
- # newLink este o persoana.
- self.__link=newLink
- class Lista:
- def __init__ (self):
- self.__radacina=None
- def adauga (self,persoana):
- # linkul persoanei i se atribuie radacina
- # persoana devine radacina
- if self.__radacina == None:
- self.__radacina=persoana
- else:
- persoana.setLink(self.__radacina)
- self.__radacina=persoana
- def __repr__ (self):
- s=''
- # s este acumulator
- e=self.__radacina
- while e!=None:
- s=s+str(e) #operatie
- e=e.getLink()
- return s
- p1=Persoana('Bianca',Sex.FEMININ)
- p2=Persoana('Daniel',Sex.MASCULIN)
- p3=Persoana('Denisa', Sex.FEMININ)
- p4=Persoana('Radu',Sex.MASCULIN)
- p5=Persoana('Andrei',Sex.MASCULIN)
- l=Lista()
- l.adauga(p1)
- l.adauga(p2)
- l.adauga(p3)
- l.adauga(p4)
- l.adauga(p5)
- print(l)
- def count(self):
- if self.__radacina == None:
- return 0
- else:
- s=0
- e=self.__radacina
- while e!=None:
- s=s+1
- e=l.getLink(l)
- return s
- def numarFete(self):
- if self.__radacina==None:
- return 0
- else:
- s=0
- p=self.__radacina
- while p!=Sex.FEMININ:
- p=p+1
- p=p.getSex(l)
- return p
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement