Advertisement
Guest User

Untitled

a guest
Jun 24th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. class Node:
  2. def __init__(self,titlu, autor, numecititor,adresacititor,termen):
  3. self.titlu = titlu
  4. self.autor = autor
  5. self.numecititor=numecititor
  6. self.adresacititor=adresacititor
  7. self.termen=termen
  8. self.next=None
  9. class ListaSimpluInlantuita:
  10. def __init__(self):
  11. self.head=None
  12. def adaugareFata(self,titlu, autor, numecititor,adresacititor,termen):
  13. index = self.head
  14. while index!=None:
  15. if index.numecititor == numecititor:
  16. if index.termen>0:
  17. print("Nu se poate, are desa o carte imprumutata")
  18. return 0
  19. index = index.next
  20. infonou=Node(titlu, autor, numecititor,adresacititor,termen)
  21. infonou.next=self.head
  22. self.head=infonou
  23. def adaugareDupaNod(self,nodanterior,nodnou):
  24. if nodanterior is None:
  25. print("Nodul dat nu se afla in lista")
  26. nodnou=Node(nodnou)
  27. nodnou.next=nodanterior.next
  28. nodanterior.next=nodnou
  29. def print(self):
  30. index=self.head
  31. while index != None:
  32. print(index.titlu,index.autor,index.numecititor,index.adresacititor,index.termen)
  33. index=index.next
  34. def cautare(self,nodcautat):
  35. nodcautat=Node(nodcautat)
  36. index=self.head
  37. gasit=0
  38. while index!=None:
  39. if index.info==nodcautat.info:
  40. gasit=1
  41. index=index.next
  42. return gasit
  43. def stergere(self,nodsterg):
  44. nodsterg=Node(nodsterg)
  45. index=self.head
  46. #sterge primul nod daca e
  47. if index !=None:
  48. if index.info == nodsterg.info:
  49. self.head=index.next
  50. index=None
  51. return
  52. #cautam ce traba sters
  53. while index is not None:
  54. if index.info == nodsterg.info:
  55. break
  56. prev = index
  57. index=index.next
  58. if index is None:
  59. return
  60. prev.next=index.next
  61. index=None
  62.  
  63. def actualizare(self):
  64. index = self.head
  65. while index != None:
  66. index.termen-=1
  67. index=index.next
  68. def count(self, search_for):
  69. index = self.head
  70. count = 0
  71. while index !=None:
  72. if index.info == search_for:
  73. count += 1
  74. index = index.next
  75. return count
  76. def retunrare(self,numecititor,numecarte):
  77. index = self.head
  78. while index!=None:
  79. if index.numecititor == numecititor and index.titlu == numecarte:
  80. self.stergere(index)
  81. index = index.next
  82. class Imprumutator:
  83. def __init__(self,numecititor,adresacititor,termen):
  84. self.numecititor = numecititor
  85. self.adresacititor = adresacititor
  86. self.termen = termen
  87. ### subpunctul a
  88. carti = ListaSimpluInlantuita()
  89. ## subpunctul b
  90. carti.adaugareFata(input(),input(),input(),input(),int(input()))
  91. carti.adaugareFata(input(),input(),input(),input(),int(input()))
  92. ##subpunctul c
  93. carti.actualizare()
  94. ##subpunctul D
  95. carti.retunrare(1,3)
  96. ##subpunctul e
  97. carti.print()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement