Informatyka · Python · krok po kroku

Kilka wartości? Daj im wspólne miejsce.

Masz wyniki trzech rund gry. Zamiast pisać wynik1, wynik2 i wynik3, zapisz je na jednej liście. Potem łatwo dopiszesz czwartą rundę.

  • Szkoła podstawowa
  • Kod z objaśnieniami
  • Trudniejsze zadania w biurku

Po tej lekcji: odczytasz element listy, zmienisz go, przejdziesz po kolekcji i odróżnisz listę od krotki.

Zakres podstawowy · materiał otwarty

Lista przechowuje elementy w kolejności.

Listę zapisujemy w nawiasach kwadratowych: wyniki = [4, 7, 5]. Przecinki rozdzielają elementy. Mogą się powtarzać — dwie rundy mogą dać ten sam wynik.

Często na lekcji mówimy na takie dane „tablica”. W Pythonie podstawowym narzędziem jest lista: może zmieniać długość i mieścić wartości różnych typów. W naszych przykładach używamy jednego rodzaju danych, żeby było czytelnie. Lista nie jest tym samym typem co tablica array, którą pokażemy w rozszerzeniu.

Pierwszy element ma indeks 0.

pierwsza-lista.pypython
wyniki = [4, 7, 5]
print(wyniki[0])
print(wyniki[2])
print(len(wyniki))
Wynik
4
5
3
  1. Indeks to numer miejsca liczony od zera. Trzy elementy mają indeksy 0, 1, 2. Próba wyniki[3] da IndexError.
  2. len zwraca liczbę elementów. To nie jest indeks ostatniego elementu.

Sprawdź w działaniu

Otwórz szufladę po indeksie.

Wybierz listę albo krotkę, kliknij indeks, spróbuj zmienić wartość i dopisać element. Zobacz też, dlaczego indeks równy długości nie pasuje do odczytu.

Ta interakcja wymaga włączonego JavaScriptu.

Listę można zmieniać i wydłużać.

wyniki[1] = 9 podmienia drugi element. wyniki.append(6) dopisuje 6 na końcu. Kropka znaczy, że wywołujemy metodę należącą do tej listy. Append zmienia listę, nie tworzy osobnego wyniku do przypisania.

wyniki.pop() usuwa ostatni element i go zwraca. Nie wywołuj pop na pustej liście. Lista [] jest poprawna, ale nie ma elementu pod indeksem 0.

Przed zmianą i po zmianie.

zmiana-listy.pypython
wyniki = [4, 7, 5]
wyniki[1] = 9
wyniki.append(6)
print(wyniki)
Wynik
[4, 9, 5, 6]

For pobiera wartości po kolei.

for wynik in wyniki bierze kolejne wartości, a nie ich indeksy. Możesz je wypisywać albo dodawać do sumy. sum(wyniki) jest gotową funkcją sumującą liczby. Na początek zobacz również dłuższy zapis.

Policzmy punkty ze wszystkich rund.

suma-listy.pypython
wyniki = [4, 7, 5]
suma = 0
for wynik in wyniki:
    suma = suma + wynik
print(suma)
print(sum(wyniki))
Wynik
16
16

Krotka: kolejność zostaje, elementów nie podmieniasz.

Krotkę zapisujemy np. punkt = (3, 5). Możesz odczytać punkt[0] i przejść po niej pętlą, ale punkt[0] = 9 spowoduje TypeError. To wygodny zapis kilku wartości, które mają pozostać razem.

Jednoelementowa krotka potrzebuje przecinka: (3,). Samo (3) jest liczbą w nawiasach, nie krotką. Krotka nie ma metody append.

Dwie współrzędne w jednym zapisie.

punkt-krotka.pypython
punkt = (3, 5)
x, y = punkt
print(x)
print(y)
Wynik
3
5
  1. Rozpakowanie przypisuje kolejno dwie wartości do dwóch nazw. Liczba nazw musi pasować do liczby elementów.

Słownik: szukasz po nazwie, a nie po numerze.

Słownik przechowuje pary klucz → wartość. plecak = {"zeszyty": 3, "dlugopisy": 2} pozwala odczytać plecak["zeszyty"]. To inne pytanie niż „co jest na miejscu 0?”.

Klucze są unikatowe. Przypisanie plecak["zeszyty"] = 4 aktualizuje wartość. Odczyt nieistniejącego klucza przez nawiasy daje KeyError. W biurku zobaczysz, jak bezpiecznie zliczać dane słownikiem.

Ćwiczenie z pomocą · samodzielna praca

Dopisz wynik czwartej rundy.

Utwórz listę [3, 5, 2]. Wczytaj jedną liczbę całkowitą 0–10, dopisz ją na końcu i wypisz w osobnych wierszach wszystkie cztery wyniki, a potem ich sumę.

Oczekiwany rezultat
Wejście:
4
Wyjście:
3
5
2
4
14
Potrzebujesz pomocy? Rozwiązuj krok po kroku.
Krok 1 — pokaż podpowiedź

Utwórz listę i użyj append z liczbą zwróconą przez int(input()).

Krok 2 — pokaż podpowiedź

Pętla for wypisze elementy w kolejności.

Krok 3 — pokaż podpowiedź

Sumę wypisz już po pętli. Dla dopisanego 0 suma wyniesie 10.

Otwórz tylko tyle podpowiedzi, ile potrzebujesz. Po każdym kroku wróć do zadania i sprawdź wynik.

Ćwiczenie z pomocą · samodzielna praca

Odczytaj punkt i utwórz nowy.

Masz krotkę punkt = (2, 4). Wczytaj przesunięcie dx jako liczbę całkowitą -10–10. Utwórz nową krotkę z x zwiększonym o dx i niezmienionym y. Wypisz współrzędne nowego punktu w jednym wierszu, oddzielone spacją.

Oczekiwany rezultat
Wejście:
3
Wyjście:
5 4
Potrzebujesz pomocy? Rozwiązuj krok po kroku.
Krok 1 — pokaż podpowiedź

Odczytaj x z punkt[0], a y z punkt[1].

Krok 2 — pokaż podpowiedź

Nie podmieniaj elementu starej krotki. Utwórz nową: (nowe_x, y).

Krok 3 — pokaż podpowiedź

Print z dwoma argumentami rozdzieli liczby spacją.

Otwórz tylko tyle podpowiedzi, ile potrzebujesz. Po każdym kroku wróć do zadania i sprawdź wynik.

Podsumowanie

Sprawdź, czy potrafisz to wyjaśnić.

  1. Wskaż różnicę między długością listy a ostatnim indeksem.
  2. Zmień element i dopisz nowy, używając różnych operacji.
  3. Odróżnij listę, krotkę i słownik.
  4. Nie nazywaj listy typem array — podobne zastosowanie nie oznacza tego samego typu.

Po zalogowaniu zobaczysz dodatkowe lekcje i materiały oznaczone jako rozszerzenie. Podstawowe quizy i zadania pozostają dostępne w biurku.

Dalej na swoim koncie

Rozgrzewki, quiz i zadania są w biurku ucznia.

Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.

Zaloguj się →
Źródła i dalsza nauka