Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Node:
- def __init__(self,titlu, autor, numecititor,adresacititor,termen):
- self.titlu = titlu
- self.autor = autor
- self.numecititor=numecititor
- self.adresacititor=adresacititor
- self.termen=termen
- self.next=None
- class ListaSimpluInlantuita:
- def __init__(self):
- self.head=None
- def adaugareFata(self,titlu, autor, numecititor,adresacititor,termen):
- index = self.head
- while index!=None:
- if index.numecititor == numecititor:
- if index.termen>0:
- print("Nu se poate, are desa o carte imprumutata")
- return 0
- index = index.next
- infonou=Node(titlu, autor, numecititor,adresacititor,termen)
- infonou.next=self.head
- self.head=infonou
- def adaugareDupaNod(self,nodanterior,nodnou):
- if nodanterior is None:
- print("Nodul dat nu se afla in lista")
- nodnou=Node(nodnou)
- nodnou.next=nodanterior.next
- nodanterior.next=nodnou
- def print(self):
- index=self.head
- while index != None:
- print(index.titlu,index.autor,index.numecititor,index.adresacititor,index.termen)
- index=index.next
- def cautare(self,nodcautat):
- nodcautat=Node(nodcautat)
- index=self.head
- gasit=0
- while index!=None:
- if index.info==nodcautat.info:
- gasit=1
- index=index.next
- return gasit
- def stergere(self,nodsterg):
- nodsterg=Node(nodsterg)
- index=self.head
- #sterge primul nod daca e
- if index !=None:
- if index.info == nodsterg.info:
- self.head=index.next
- index=None
- return
- #cautam ce traba sters
- while index is not None:
- if index.info == nodsterg.info:
- break
- prev = index
- index=index.next
- if index is None:
- return
- prev.next=index.next
- index=None
- def actualizare(self):
- index = self.head
- while index != None:
- index.termen-=1
- index=index.next
- def count(self, search_for):
- index = self.head
- count = 0
- while index !=None:
- if index.info == search_for:
- count += 1
- index = index.next
- return count
- def retunrare(self,numecititor,numecarte):
- index = self.head
- while index!=None:
- if index.numecititor == numecititor and index.titlu == numecarte:
- self.stergere(index)
- index = index.next
- class Imprumutator:
- def __init__(self,numecititor,adresacititor,termen):
- self.numecititor = numecititor
- self.adresacititor = adresacititor
- self.termen = termen
- ### subpunctul a
- carti = ListaSimpluInlantuita()
- ## subpunctul b
- carti.adaugareFata(input(),input(),input(),input(),int(input()))
- carti.adaugareFata(input(),input(),input(),input(),int(input()))
- ##subpunctul c
- carti.actualizare()
- ##subpunctul D
- carti.retunrare(1,3)
- ##subpunctul e
- carti.print()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement