Ćwiczenia nr 1 | Ćwiczenia nr 2 (if) | Ćwiczenia nr 3 (pętle)
Linki do edytorów języka Python:
środowisko Python; edytor MU; edytor online1; edytor online 2 edytor online 3
1. Wprowadzenie do języka. Zmienne. Podstawowe funkcje.
a. funkcja PRINT
Jest to funkcja, która umożliwia wyświetlanie danych na ekranie, np.:
print ("Jakiś tekst")
Funkcją print możemy wyświetlić tekst, zmienną, liczby i działania matematyczne. Tylko tekst musi być w cudzysłowie. Co do zasady jest jednowierszowy. Jeżeli chcemy wyświetlić tekst w kilku wersach, mamy dwie możliwości:
a) dodać na początku i końcu teksto potrójne apostrofy lub cudzysłowy
b) użyć \n
Kod -------------------------------> Wynik działania
print ("To jest tekst") To jest tekst
print (2) 2
print (2+2) 4
print ("2+2") 2+2
b. zmienne
Zmienne służą do przechowywania wartości.
Zmienne zapisujemy według zasady nazwa_zmiennej = zawartość
W zmiennej może być tekst (w cudzysłowie), liczba, działanie, inna zmienna. Zamiast cudzysłowu można także wykorzystać apostrofy, ale trzeba to zrobić konsekwentnie.
Zasady wprowadzanie zmiennych:
- nazwa nie może się zaczynać nie od cyfry,
- nazwa nie może mieć polskich znaków
- wartość wprowadzamy przez "=" np. a = 12, liczba - 45 itp
- zmienna A i zmienna a to dwie różne zmienne
- zmienne logiczne True i False - zawsze piszemy wielką literą
- nazwa zmiennej = zawartość zmiennej np. a=5, b="kot" c = a
Przykład programu wykorzystującego zmienne oraz funkcję print
print ("Witaj w programie dodającym dwie liczby")
a = 2
b = 4
c = a + b
print ("Wynik dodawania to: ", c)
c. podstawowe operatory matematyczne
+ - dodawania
- - odejmowanie
* - mnożenie
/ - dzielenie
** - potęgowanie
% - reszta z dzielenia
d. wprowadzanie danych z zewnątrz
do wprowdzenie danych przez użytkownika służy funkcja input;
dane zapisujemy do zmiennej:
zmienna = input ("Instrukcja"), np:
imie = input ("Podaj imię ")
print (imie)
Pamiętaj o domykaniu cudzysłowów i nawiasów.
UWAGA! Jeżeli wprowadzamy liczbę, musimy funkcję input poprzedzić deklaracją int (liczby tylko całkowite) lub float (liczby rzeczywiste - np. ułamki)
Program podsumowujący dzisiejszą lekcję:
imie = input ("Wpisz swoje imię ")
wiek = int(input ("Wpisz ile masz lat "))
rok = 2026 - wiek
print ("Witaj" , imie , "urodziłeś(aś) się w roku" , rok)
2. Pętla for i pętla while
Pętle służą do powtarzania określonej czynności. W języku Python istnieją dwia pętle: pętla for, która wykonuje się określoną ilość razy oraz pętla while, która działa, dopóki dany warunek jest spełniony.
PĘTLA FOR ma ogólną postać: for i in range (ile razy), np. poniższy kod
for i in range (5):
print ("coś")
spowoduje, że program wyświetli 5 razy wyraz "coś".
UWAGA: wcięcia w kodzie edytor robi automatycznie. Nie wolno ich zmieniać!
W nawiasie może być konkretna liczba, ale może też być zakres:
range(2) - 2 elementy; range (1, 4) - zakres 1, 2, 3; range(0, 10, 2) - parzyste do 8 itd.
ZAPAMIĘTAJ! Przy programowaniu zaczynamy liczyć od 0!
PĘTLA WHILE
To również skrypt powtarzający czynność. Różni się od pętli for tym, że nie musimy wiedzieć, ile razy pętla ma się wykonać.
Ogólna postać pęli:
while warunek:
Ciąg poleceń
np:
while a < 0:
a += 1
Pętla while może być wykorzystana do programu wymagającego hasła, np.:
haslo = 0 (zmienna z wartością 0)
while haslo != "serwer": (pętla działa, dopóki nie wpiszemy słowa serwer)
haslo = input("Podaj hasło ") (program prosi o wpisanie hasła)
print("Hasło prawidłowe") (program informuje o prawidłowym haśle)
Dopóki nie podamy dobrego hasła, program będzie prosił o podanie hasła.
3. Instrukacja warunkowa if
Składa się z trzech elementów: if elif else. Tylko if jest funkcją obowiązkową. Jest to funkcja logiczna, działająca na zasadzie sprawdzania warunków i wykonywania określonych czynności przy prawdzie i fałszu.
Przy porównywaniu stosujemy znak == (równy), != (różny), > (większy), < (mniejszy), <= (mniejszy lub równy), >= (większy lub równy).
Warunkowanie proste:
if a = 12:
print (a)
W przypadku, kiedy zmienna a wynosi 12 - funkcja wyświetli zawartość. W każdym innym przypadku - nic się nie wykona.
Warunkowanie złożone:
liczba = 15
if liczba > 0:
print ("To dodatnia")
elif liczba == 0:
print ("To zero")
else:
print ("To ujemna")
Instrukcja pozwala na wykonanie poleceń, dopóki spełniony jest warunek.
Można rozbudować o funkcję elif oraz funkcję else. Funkcji elif może być klika, funkcja else jest zawsze ostatnia.
4. Funkcje
Funkcje
def nazwa_funkcji():
polecenie funkcji
Przykład funkcji przeliczającej prędkość z węzłów na km/h. Nazwa funkcji: statek
def statek():
w = int(input("Podaj prędkość w węzłach: "))
k = w * 1.85
return k
print (statek() , "km/h")
return - polecenie przekazujące wartość i kończące działanie funkcji
5. Listy, krotki, słowniki
a. listy
Lista to uporządkowana sekwencja elementów, która pozwala na:
Modyfikowalność (Mutable): Możesz dowolnie dodawać, usuwać i zmieniać elementy po utworzeniu listy.
Dynamiczność: Rozmiar listy zmienia się w trakcie działania programu.
Różnorodność: Podobnie jak krotki, listy mogą przechowywać obiekty różnych typów (choć dobrą praktyką jest trzymanie w jednej liście elementów tego samego typu).
Elementy liczymy od 0
print(owoce[0]) >> "jabłko"
print(owoce[-1]) >>> "wiśnia" (ostatni element)
.append(x) - dodaje element na koniec listy >> lista.append("nowy")
.insert(i, x) - wstawia element na konkretny indeks i >> lista.insert(0, "pierwszy")
.remove(x) - usuwa pierwsze wystąpienie wartości x >> lista.remove("banan")
.pop(i) - usuwa i zwraca element z indeksu i (domyślnie ostatni) >> ostatni = lista.pop()
.extend(inna) - łączy listę z inną kolekcją >> lista.extend([4, 5, 6])
.sort() - sortuje listę na miejscu >> lista.sort()
.reverse() - odwraca kolejność elementów >> lista.reverse()
b. krotki
Najprościej: listy, których nie można zmieniać po utworzeniu.
Krotka to uporządkowana kolekcja elementów, która posiada trzy kluczowe cechy:
raz utworzonej krotki nie można zmodyfikować (nie dodasz, nie usuniesz ani nie zamienisz elementów).
elementy zachowują swoją kolejność (można się do nich odwoływać przez indeksy, zaczynając od 0).
może przechowywać różne typy danych jednocześnie (int, string, listy, a nawet inne krotki).
Krotki tworzymy za pomocą nawiasów okrągłych () lub samej separacji przecinkami.
krotka = (1, 2, 3)
Bardzo ważne: krotka z jednym elementem WYMAGA przecinka
jedynka = (5,) bez przecinka Python uzna to za zwykły int w nawiasie
Mimo że są niezmienne, oferują sporo możliwości odczytu danych:
Dostęp przez indeks >> tup[0] >> pierwszy element
Slicing (wycinanie) >> tup[1:3] >> elementy od 1 do 2
Łączenie >> (1, 2) + (3,) >> (1, 2, 3)
Powielanie >> ("A",) * 3 >> ("A", "A", "A")
Sprawdzanie obecności >> 1 in (1, 2) >>True
Krotki są lżejsze i szybciej przetwarzane przez procesor niż listy.
Gwarantują, że dane nie zostaną przypadkowo zmienione (np. stałe konfiguracyjne).
Krotki mają tylko dwie wbudowane metody (właśnie ze względu na swoją niezmienność):
count(x) – zwraca liczbę wystąpień elementu x.
index(x) – zwraca indeks pierwszego wystąpienia elementu x.
Jeśli masz krotkę, która zawiera listę (np. t = (1, [2, 3])), możesz zmienić zawartość tej listy, ale nie możesz zastąpić samej listy innym obiektem.
c. słowniki
Słowniki (dictionaries) to jedna z najpotężniejszych struktur w Pythonie. Zamiast szukać elementu po numerze (indeksie), szukasz go po konkretnym kluczu.
Słownik przechowuje pary danych. Każdy wpis składa się z unikalnego klucza oraz przypisanej do niego wartości.
Klucz: musi być niezmienny (np. string, liczba, krotka) i unikalny.
Wartość: może być absolutnie wszystkim (lista, inny słownik, liczba, obiekt).
Słowniki tworzymy za pomocą nawiasów klamrowych {}.
student = {
"imie": "Ania",
"wiek": 22,
"kursy": ["Python", "SQL"]
}
print(student["imie"]) >>> "Ania"
Jeśli spróbujesz uzyskać dostęp do klucza, który nie istnieje (np. student["nazwisko"]), Python wyrzuci błąd. Aby tego uniknąć, używaj metody .get():
print(student.get("nazwisko", "Brak danych")) – zwróci "Brak danych" zamiast błędu.
Słowniki są modyfikowalne, co pozwala na łatwe zarządzanie danymi:
Dodanie/Zmiana >> slownik["klucz"] = "wartość" >> dodaje nowy lub nadpisuje istniejący
Usuwanie >> del slownik["klucz"] >> usuwa konkretną parę
Wszystkie klucze >> slownik.keys() >> zwraca listę (widok) kluczy
Wszystkie wartości >> slownik.values() >> zwraca listę (widok) wartości
Wszystkie pary >> slownik.items() >> zwraca pary jako krotki (klucz, wartość)
Przechodzenie przez słownik w pętli for jest bardzo intuicyjne:
ceny = {"chleb": 5, "mleko": 4, "jajka": 12}
for produkt, cena in ceny.items():
print(f"Produkt: {produkt}, Cena: {cena} zł")
Lista: używaj, gdy liczy się kolejność i dostęp przez numer (np. lista zadań do zrobienia).
Krotka: używaj, gdy dane mają być stałe (np. współrzędne geograficzne).
Słownik: używaj, gdy chcesz szybko kojarzyć dane i nadawać im etykiety (np. baza danych użytkownika).
6. Biblioteki w Pythonie.
Python wykorzystuje dodatkowe biblioteki, np,:
math - działania matematyczne, np. math.sqrt - będzie to pierwiastek kwadratowy, math.pow (a, b) - potęga
turtle - rysowanie
random - losowe itd. Funkcja losowania to randint
Biblioteki importujemy za pomocą funkcji import
import math
print (sqrt(9)) >> zaimportowana funkcja licząca pierwiastek kwadratowy liczby 9