I Liceum Ogólnokształcące w Jarosławiu - Informatyka

Programowanie w języku Python (zmienne • warunki • pętle • funkcje • listy)

1. Co to jest kod źródłowy i uruchamianie programu

Wskazówka: Jeśli uruchamiasz plik dwuklikiem i okno znika zbyt szybko, na końcu programu możesz dodać:
input("\nAby zakończyć, naciśnij Enter")
To zatrzyma okno do momentu wciśnięcia Enter.

2. Zmienne – przechowywanie danych w pamięci

Zmienna to nazwana część pamięci (komórka pamięci), w której komputer przechowuje wartość. Zmienna ma nazwę i aktualną wartość.

Krok 1: Nadanie wartości zmiennej

liczba = 23

Krok 2: Zmiana (nadpisanie) wartości

liczba = liczba + 1
print(liczba)
Ważne: Zapis liczba = liczba + 1 nie jest równaniem matematycznym. To polecenie: „weź obecną wartość zmiennej, dodaj 1 i zapisz wynik z powrotem do tej samej zmiennej”.

Typy danych (Python rozpoznaje je automatycznie)

TypCo przechowujePrzykład
intliczby całkowiterok = 2021
floatliczby rzeczywiste (z kropką)wzrost = 159.5
strtekst (ciąg znaków)nazwisko = "Kowalski"
Uwaga o zapisie liczb: w Pythonie część dziesiętną zapisujemy kropką, np. 34.5, a nie 34,5.

3. Wyświetlanie informacji – print()

Funkcja print() wyświetla tekst i wyniki obliczeń w konsoli.

suma = 10 + 5
print("Suma wynosi:", suma)

Znak nowej linii \n

4. Operatory arytmetyczne

OperatorDziałaniePrzykładCo otrzymasz
+dodawanie23 + 5679
-odejmowanie987 - 233754
*mnożenie432 * 62592
//dzielenie całkowite (ucina część ułamkową)55 // 318
/dzielenie „z ułamkiem”55 / 318.3333...
%reszta z dzielenia37 % 41

Uwaga: plus przy tekstach

Jeśli zmienne są tekstami (str), to + oznacza łączenie tekstów:

print("samo" + "chód")   # wynik: samochód

5. Wprowadzanie danych z klawiatury – input()

input() wyświetla komunikat i czeka, aż użytkownik wpisze dane. Zwraca zawsze tekst (typ str).

Krok 1: Wczytaj tekst

miasto = input("Wprowadź nazwę miasta: ")
print(miasto)

Krok 2: Wczytaj liczbę całkowitą

liczba = int(input("Wprowadź liczbę: "))

Krok 3: Wczytaj liczbę rzeczywistą

srednia = float(input("Podaj średnią ocen: "))
Dlaczego czasem wychodzą różne wyniki?
Jeśli zrobisz liczba = input(...), to liczba jest tekstem. Wtedy liczba + liczba to sklejanie (np. "34" + "34" → "3434").
Jeśli zrobisz liczba = int(input(...)), to liczba + liczba to dodawanie (34 + 34 → 68).

6. Instrukcja warunkowa – if / else

Instrukcja warunkowa pozwala programowi podjąć decyzję na podstawie warunku (prawda/fałsz).

Postać pełna (z else)

if warunek:
    lista_instrukcji1
else:
    lista_instrukcji2
kolejna_instrukcja

Postać uproszczona (bez else)

if warunek:
    lista_instrukcji1
kolejna_instrukcja
Wcięcia: Blok po if (i po else) musi być wcięty. Najczęściej stosuje się 4 spacje. Brak wcięcia = błąd składni.

Operatory porównania i logiczne

GrupaOperatorZnaczeniePrzykład
Porównania==równya == b
!=różnya != b
<mniejszya < b
>większya > b
>=większy lub równya >= b
<=mniejszy lub równya <= b
Logiczneorluba < -5 or a > 5
andia > 0 and a < 10
notnegacja (zaprzeczenie)not a == 5

Przykład 1: większa z dwóch liczb (ćwiczenie z warunkiem)

a = int(input("Podaj pierwszą liczbę: "))
b = int(input("Podaj drugą liczbę różną od pierwszej: "))

if a > b:
    print("Większa jest pierwsza liczba", a)
else:
    print("Większa jest druga liczba", b)

input("\n\nAby zakończyć, naciśnij Enter")

Przykład 2: liczba dodatnia czy niedodatnia

x = int(input("Podaj liczbę całkowitą: "))

if x > 0:
    print("Liczba dodatnia")
else:
    print("Liczba niedodatnia")

7. Iteracje – pętla for (powtarzanie czynności)

Iteracja to powtarzanie tej samej operacji. W Pythonie najczęściej używamy do tego pętli for.

Ogólna postać

for zmienna in lista_wartosci:
    lista_instrukcji

lista_wartosci może być prawdziwą listą (np. [0,1,2,3,4]) albo sekwencją wygenerowaną przez range().

for po „prawdziwej” liście

for i in [0, 1, 2, 3, 4]:
    print(i)

range() – najczęstszy generator liczb

for i in range(5):
    print(i)          # 0 1 2 3 4

for i in range(15, 55):
    print(i)          # 15 ... 54

for i in range(1, 20, 2):
    print(i)          # 1 3 5 ... 19
Uwaga o końcu range(): liczba koniec nie wchodzi do sekwencji (zawsze kończymy na koniec-1).

Przykład: pięć prostokątów (wielokrotne liczenie pola)

for i in range(5):
    x = int(input("Podaj długość pierwszego boku: "))
    y = int(input("Podaj długość drugiego boku: "))
    pole = x * y
    print("Pole działki o boku", x, "i boku", y, "wynosi:", pole)

input("\n\nAby zakończyć, naciśnij Enter")

8. Funkcje – porządkowanie programu

Funkcja (podprogram) to wydzielony fragment kodu o jednoznacznej nazwie. Dzięki funkcjom łatwiej utrzymać porządek i wielokrotnie używać tego samego rozwiązania.

Definicja funkcji

def nazwa_funkcji(lista_parametrow):
    lista_instrukcji
    return wartosc

Funkcja zwracająca wartość (z return) – przykład: objętość sześcianu

def szescian(a):
    return a * a * a

bok = int(input("Podaj długość boku sześcianu: "))
print("Objętość sześcianu o boku długości", bok, "wynosi:", szescian(bok))
input("\n\nNaciśnij Enter, aby zakończyć")

Funkcja niezwracająca wartości (bez return) – przykład: „rysowanie” znaków

def pokaz_znaki(znaki):
    for i in range(1, 11):
        print(znaki * i)

emotikon = input("Wprowadź znaki emotikona: ")
pokaz_znaki(emotikon)
input("\n\nNaciśnij Enter, aby zakończyć")
Ważne: Najpierw definiujemy funkcję, a dopiero potem ją wywołujemy w programie głównym.

9. Listy – przechowywanie wielu wartości

Gdy potrzebujemy zapamiętać wiele elementów (np. 5 liczb), zamiast wymyślać zmienne a0, a1, a2..., używamy listy.

Definicja listy

nazwa_listy = [element1, element2, ..., elementn]

Indeksy elementów

a = [10, 20, 30, 40, 50]
print(a[0])   # 10
print(a[4])   # 50

Przydatne sposoby tworzenia list

SposóbPrzykładCo oznacza
Wpisanie wartości od razu L_DNI_W_MIESIACU = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] Lista 12 elementów (indeksy 0–11)
Ta sama wartość wiele razy moja_lista = [0] * 10 Lista 10 zer
Rozmiar w zmiennej N = 100\nlista = [0] * N Lista 100 elementów

10. Ćwiczenie: wprowadzamy dane do listy i wyświetlamy je (funkcje + lista)

Cel

Utworzyć listę a złożoną z 5 liczb całkowitych, wczytać je z klawiatury funkcją wprowadz_dane(), a potem wypisać funkcją wyprowadz_dane().

Krok 1: przygotuj listę (5 elementów)

N = 5
a = [0] * N

Krok 2: zdefiniuj funkcję wprowadzającą dane

def wprowadz_dane():
    for i in range(N):
        a[i] = int(input("Podaj liczbę: "))

Krok 3: zdefiniuj funkcję wyświetlającą dane

def wyprowadz_dane():
    for i in range(N):
        print(a[i])

Krok 4: wywołaj funkcje w programie głównym

wprowadz_dane()
wyprowadz_dane()
input("\n\nNaciśnij Enter, aby zakończyć")
Co tu się dzieje?
  1. Tworzymy listę a z pięcioma miejscami.
  2. Pętla for w wprowadz_dane() wypełnia kolejne indeksy a[0]a[4].
  3. Pętla for w wyprowadz_dane() wypisuje każdy element w osobnym wierszu.

11. Warto powtórzyć (pytania kontrolne)

  1. Czym jest kod źródłowy programu?
  2. Na czym polega interpretacja programu przez Pythona?
  3. Co to jest zmienna i co oznacza instrukcja przypisania =?
  4. Dlaczego czasem trzeba użyć int() lub float() razem z input()?
  5. Jakie są podstawowe operatory arytmetyczne i czym różni się / od //?
  6. Jak działa instrukcja if i dlaczego wcięcia są obowiązkowe?
  7. Czym jest iteracja i do czego służy pętla for?
  8. Jak działa range() (1, 2 i 3 argumenty)?
  9. Czym różni się funkcja zwracająca wartość od tej, która jej nie zwraca?
  10. Co to jest lista i dlaczego indeks pierwszego elementu to 0?