👤

Napisz kod w Pythonie
(interesuje mnie tylko kod, pliki do sprawdzenia nie wysyłać)​


Napisz Kod W Pythonieinteresuje Mnie Tylko Kod Pliki Do Sprawdzenia Nie Wysyłać class=

Odpowiedź :

Odpowiedź

Cztery odpowiedzi wykorzystujące cztery różne struktury danych:

  • dictionary (słownik), zadanie – nie wprost – prosi o użycie tej metody;
  • set (zbiór);
  • list (lista);
  • array (tablica).

Wyjaśnienie

  • Użyte metody – z wyjątkiem array – są bardzo ogólne i można je zastosować do każdych danych, gdyż jest tylko sprawdzane czy pozycja w kolejnym wierszu znajduje sie już pośród tych wczytanych wcześniej. Dodatkowo – z wyjątkiem array – są bardzo ogólne ponieważ nie mają żadnych założeń co do ilości różnych elementów. (Tak na marginesie..., w zadaniu nie było podane jaka jest najmniejsza liczba – w przypadku array założyłam 0 – ale mogłyby być ujemne, jedyne co wiadomo, to, że są nie większe niż 500...)
  • Metoda z set jest jedyną w której nie można stosować zliczania.
  • Użycie list gwarantuje, że będzie zachowany porządek pierwszego wystąpienia liczb.
  • Użycie array powoduje, że liczby będą wypisane od najmniejszej lub największej (można to wybrać zmieniając kierunek range).
  • Załączyłam przykładowe wyniki. Widać w nich, iż użycie dictionary również zachowało porządek, ale to jest przypadek.
  • Użycie dictionary zwykle jest najlepszym rozwiązaniem. W sumie należałoby popatrzeć jaki materiał był ostatnio przerabiany i wybrać rozwiązanie temu odpowiadające.

Wartości 1 (w metodzie z dictionary) oraz −1 (w metodzie z array) wzięłam z powietrza. Z tym, że o ile przy dictionary można wybrać dosłownie cokolwiek, to przy array jednak następuje dodawanie, a więc −1  jest bezpieczną wartością...

Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB