Informatyka Tablice w Pythonie. Specjalne elementy. Lider


1. Co to jest tablica?

Tablica (w Pythonie najczęściej nazywana listą) to zbiór wielu wartości przechowywanych pod jedną nazwą.

Zamiast tworzyć 10 osobnych zmiennych:

a1 = 5
a2 = 7
a3 = 9

możemy użyć listy:

liczby = [5, 7, 9]

Teraz wszystkie wartości są w jednym miejscu i można się do nich odwoływać przez indeksy:

print(liczby[0])   # pierwszy element – 5
print(liczby[1])   # drugi element – 7
print(liczby[2])   # trzeci element – 9

Uwaga: W Pythonie liczenie zaczyna się od zera!
Czyli pierwszy element ma indeks 0.


2. Co można robić na tablicach (listach)

Lista to bardzo „elastyczna” struktura danych. Możemy:

liczby = [5, 7, 9]

# dodać element
liczby.append(12)

# usunąć element
liczby.remove(7)

# policzyć długość
print(len(liczby))   # 3

# posortować
liczby.sort()

# odwrócić kolejność
liczby.reverse()

Dzięki temu tablica może rosnąć, zmieniać kolejność, a my możemy ją łatwo przeszukiwać.


3. Przechodzenie po tablicy (pętla)

Najczęściej, żeby coś zrobić z wszystkimi elementami tablicy, używamy pętli for:

liczby = [5, 7, 9, 2]

for x in liczby:
    print(x)

Wynik:

5
7
9
2

W każdej iteracji zmienna x przyjmuje kolejną wartość z listy.


4. Szukanie specjalnych elementów

Czas teraz dojść do sedna lekcji — specjalne elementy tablicy, czyli takie, które w jakiś sposób się wyróżniają.

Zaczniemy od najprostszych: największego i najmniejszego elementu.


5. Największy element w tablicy

a) Najprostszy sposób:

Python ma gotową funkcję max(), która od razu zwraca największy element.

liczby = [5, 12, 3, 8, 7]
print("Największy element:", max(liczby))

Wynik:

Największy element: 12

b) Ale jak to działa „od środka”?

Dobrze, żeby uczeń rozumiał logikę:

  1. Zakładamy, że pierwszy element jest największy.
  2. Porównujemy go z kolejnymi.
  3. Jeśli znajdziemy większy – zapamiętujemy go.
  4. Po przejściu całej listy zostaje największy.
liczby = [5, 12, 3, 8, 7]
max_liczba = liczby[0]

for x in liczby:
    if x > max_liczba:
        max_liczba = x

print("Największy element:", max_liczba)

6. Najmniejszy element w tablicy

Analogicznie, tylko porównujemy „w drugą stronę”.

a) Wersja z funkcją:

liczby = [5, 12, 3, 8, 7]
print("Najmniejszy element:", min(liczby))

b) Wersja „ręczna”:

liczby = [5, 12, 3, 8, 7]
min_liczba = liczby[0]

for x in liczby:
    if x < min_liczba:
        min_liczba = x

print("Najmniejszy element:", min_liczba)

7. Znajdowanie pozycji (indeksu) największego lub najmniejszego

Czasem chcemy nie tylko znać wartość, ale też gdzie ona się znajduje.

liczby = [5, 12, 3, 8, 7]

najwiekszy = max(liczby)
indeks = liczby.index(najwiekszy)

print("Największy element:", najwiekszy)
print("Na pozycji:", indeks)

Wynik:

Największy element: 12
Na pozycji: 1

8. Lider tablicy (element dominujący)

Definicja:
Liderem tablicy nazywamy taki element, który występuje więcej niż połowę razy.

Przykład:
W liście [2, 2, 2, 3, 4, 2, 2] liczba 2 występuje 5 razy, a długość listy to 7.
Ponieważ 5 > 7/2, więc 2 jest liderem.


a) Wersja z pętlą:

liczby = [2, 2, 3, 2, 4, 2, 2]
n = len(liczby)
lider = None

for x in liczby:
    if liczby.count(x) > n / 2:
        lider = x
        break

if lider:
    print("Lider to:", lider)
else:
    print("Brak lidera")

b) Wersja bez lidera:

liczby = [1, 2, 3, 2, 3, 4, 2]
# żadna liczba nie występuje ponad połowę

Wynik:
Brak lidera


9. Podsumowanie

Rodzaj elementuZnaczenieFunkcja PythonaPrzykład
NajwiększyMa najwyższą wartośćmax(lista)max([2,5,7]) → 7
NajmniejszyMa najniższą wartośćmin(lista)min([2,5,7]) → 2
LiderWystępuje ponad połowę razylista.count(x)[2,2,2,3,4,2,2] → lider=2

10. Zadania do przećwiczenia

  1. Napisz program, który:
    • tworzy listę 10 liczb wylosowanych z zakresu 1–50,
    • wypisuje największą i najmniejszą z nich.
  2. Napisz program, który:
    • pobiera od użytkownika 8 liczb,
    • wypisuje liczbę, która występuje najczęściej (niekoniecznie lidera).
  3. Dla listy [3, 7, 2, 9, 4, 1] wypisz:
    • wszystkie elementy,
    • największy i najmniejszy,
    • ich pozycje (indeksy).

J