Advertisement
drakon-firestone

Zadania - lekcja 14

Jun 3rd, 2023 (edited)
1,054
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.95 KB | None | 0 0
  1. class Queue:
  2.     def __init__(self):
  3.         self.queue = []
  4.    
  5.     def is_empty(self):
  6.         return len(self.queue) == 0
  7.    
  8.     def enqueue(self, item):
  9.         self.queue.append(item)
  10.        
  11.     def dequeue(self):
  12.         if not self.is_empty():
  13.             return self.queue.pop(0)
  14.  
  15.     def peek(self):
  16.         if not self.is_empty():
  17.             return self.queue[0]
  18.  
  19.  
  20. class Stack:
  21.     def __init__(self):
  22.         self.stack = []
  23.        
  24.     def size(self):
  25.         return len(self.stack)
  26.  
  27.     def is_empty(self):
  28.         return self.size() == 0
  29.  
  30.     def push(self, item):
  31.         self.stack.append(item)
  32.        
  33.  
  34.     def pop(self):
  35.         if not self.is_empty():
  36.             return self.stack.pop()
  37.  
  38.     def peek(self):
  39.         if not self.is_empty():
  40.             return self.stack[-1]
  41.  
  42.  
  43. ################## ZADANIA #######################
  44.  
  45. '''
  46. Zad 1. Utwórz symulator przeglądarki gdzie historia przeglądania będzie zapisywana w
  47. formie stosu. Użytkownik może wchodzić na różne strony w programie i cofać się
  48. w historii przeglądania. Upakuj całą funkcjonalność w klasie BrowserHistory
  49. natomiast do stworzenia samej historii wykorzystaj stos z zadań poprzednich.
  50.  
  51. Potrzebne zmienne w klasie BrowserHistory:
  52. - struktura do przechowywania historii przeglądania
  53. - zapamiętanie obecnej strony
  54.  
  55. Wymagane metody:
  56. - (oczywiście) konstuktor
  57. - przejście do strony o podanym adresie
  58. - cofnięcie się do poprzedniej strony
  59.  
  60.  
  61. Zad. dod. 1.
  62. Dodaj opcję przejścia do następnej strony w historii (jeśli cofnęliśmy się). HINT: Można zastosować 2 listy, jedną na strony przed aktualnie wyświetlaną i drugą na te po aktualnie wyświetlanej. Zmodyfikuj odpowiednio metodę cofnięcia aby współgrała z obecnym metodem przechodzenia po historii.
  63. '''
  64.  
  65. '''
  66. Zad 2. Utwórz symulator kolejki do kina gdzie elementami kolejki są klienci razem z ich
  67. zamówieniem. Do utworzenia symulatora kolejki użyj naszej struktury Kolejki, którą
  68. stworzyliśmy wcześniej.
  69.  
  70. Klienci są reprezentowani przez klasę Customer, która ma atrybuty name (imię
  71. klienta) i order (zamówienie klienta).
  72. Kolejka do kina jest reprezentowana przez
  73. klasę CinemaQueue, która używa implementacji kolejki (klasy Queue) do
  74. przechowywania klientów.
  75.     ● Metoda is_empty sprawdza, czy kolejka jest pusta.
  76.     ● Metoda add_customer dodaje klienta do kolejki.
  77.     ● Metoda remove_customer usuwa klienta z kolejki.
  78.     ● Metoda next_customer_order zwraca zamówienie klienta, który jest
  79.       pierwszy w kolejce, ale go nie usuwa.
  80.  
  81. Przetestuj działanie klasy i ich metod (dodaj kilku klientów do listy i obsłuż wszystkich klientów czyli po prostu wyświetl ich zamówienia z informacją że zostali obsłużeniu aż kolejka będzie pusta)
  82. '''
  83.  
  84. '''
  85. Zad. dod. 2.
  86. Napisz funkcję, która sprawdzi, czy dany ciąg znaków jest palindromem,
  87. korzystając z naszej implementacji stosu.
  88.  
  89. https://sjp.pwn.pl/slowniki/palindrom.html
  90. '''
  91.  
  92.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement