Poznaj podstawy programowania w Pythonie: algorytmy, zmienne, instrukcje wejścia i wyjścia, warunki, pętle, funkcje i listy. Przejrzyj teorię, a następnie sprawdź się w ćwiczeniach i quizach.
Algorytm to dokładny opis postępowania prowadzący do rozwiązania określonego problemu. Musi być:
Algorytmy spotykamy wszędzie: przepis kulinarny, instrukcja obsługi, zasady logowania do serwisu, plan dojazdu – to wszystko algorytmy.
Przed napisaniem algorytmu precyzujemy problem w formie specyfikacji, która zawiera:
C = (F − 32) × 5 / 9).| Element | Wartość |
|---|---|
| Dane | liczba całkowita n |
| Wynik | True / False (albo komunikat) |
| Zależność | n % 2 == 0 |
Program to algorytm zapisany w języku programowania. W Pythonie kod źródłowy przechowujemy w plikach .py. Python jest językiem interpretowanym – interpreter wykonuje kod linia po linii.
Zmienna to nazwane miejsce w pamięci komputera, w którym przechowujemy dane. Python rozpoznaje typ automatycznie na podstawie przypisanej wartości.
x = 10 # int
wzrost = 175.5 # float
imie = "Anna" # str
| Typ | Co przechowuje | Przykład |
|---|---|---|
int | liczby całkowite | rok = 2025 |
float | liczby rzeczywiste (z kropką) | pi = 3.14 |
str | tekst (ciąg znaków) | miasto = "Jarosław" |
liczba = 23
liczba = liczba + 1 # teraz liczba = 24
print(liczba)
liczba = liczba + 1 to nie równanie matematyczne. To polecenie: „weź obecną wartość, dodaj 1 i zapisz z powrotem".
34.5, a nie przecinkiem.
suma = 10 + 5
print("Suma wynosi:", suma)
print("Linia 1\nLinia 2") # \n = nowy wiersz
imie = input("Podaj imię: ")
print("Cześć,", imie)
input() zawsze zwraca tekst (str). Żeby pracować z liczbami, trzeba dokonać konwersji:
# Wczytaj liczbę całkowitą
n = int(input("Podaj liczbę całkowitą: "))
# Wczytaj liczbę rzeczywistą
srednia = float(input("Podaj średnią: "))
# Dlaczego to ważne?
# input() → "34" → "34" + "34" = "3434" (sklejanie tekstu!)
# int(input()) → 34 → 34 + 34 = 68 (dodawanie liczb)
input("\nAby zakończyć, naciśnij Enter")
| Operator | Działanie | Przykład | Wynik |
|---|---|---|---|
+ | dodawanie | 10 + 3 | 13 |
- | odejmowanie | 10 - 3 | 7 |
* | mnożenie | 10 * 3 | 30 |
/ | dzielenie (z ułamkiem) | 10 / 4 | 2.5 |
// | dzielenie całkowite | 10 // 3 | 3 |
% | reszta z dzielenia | 10 % 3 | 1 |
x = 10 / 3 # 3.3333...
print(round(x, 2)) # 3.33
c = (98.6 - 32) * 5 / 9
print(round(c, 1)) # 37.0
str, operator + oznacza sklejanie: "samo" + "chód" → "samochód".
f = int(input("Temperatura w Fahrenheitach: "))
c = (f - 32) * 5 / 9
print(f, "°F to", round(c, 2), "°C")
if warunek:
# blok gdy warunek prawdziwy
else:
# blok gdy warunek fałszywy
if i else muszą być wcięte (4 spacje). Brak wcięcia = błąd składni (IndentationError).
| Operator | Znaczenie | Przykład |
|---|---|---|
== | równy | a == b |
!= | różny | a != b |
< | mniejszy | a < b |
> | większy | a > b |
<= | mniejszy lub równy | a <= b |
>= | większy lub równy | a >= b |
and | i (oba muszą być True) | a > 0 and b > 0 |
or | lub (wystarczy jeden True) | a < 0 or b < 0 |
not | negacja | not a == 5 |
a = int(input("Podaj pierwszą liczbę: "))
b = int(input("Podaj drugą liczbę: "))
if a > b:
print("Większa jest:", a)
else:
print("Większa jest:", b)
login_baza = "Robik"
haslo_baza = "Gwi@zdA#99"
login = input("Login: ")
haslo = input("Hasło: ")
if login == login_baza and haslo == haslo_baza:
print("Logowanie prawidłowe")
else:
print("Błąd logowania")
a = int(input("Bok a: "))
b = int(input("Bok b: "))
c = int(input("Bok c: "))
# Ustaw c jako największy bok
if a > b and a > c:
a, c = c, a
elif b > c:
b, c = c, b
if a + b > c:
print("TAK – trójkąt istnieje")
else:
print("NIE – trójkąt nie istnieje")
for zmienna in sekwencja:
# powtarzany blok kodu
| Zapis | Generuje | Przykład |
|---|---|---|
range(n) | 0, 1, 2, ..., n-1 | range(5) → 0 1 2 3 4 |
range(a, b) | a, a+1, ..., b-1 | range(2, 6) → 2 3 4 5 |
range(a, b, k) | a, a+k, ..., ≤b-1 | range(1, 10, 2) → 1 3 5 7 9 |
b (koniec) NIE wchodzi do sekwencji. Zawsze kończymy na b − 1.
for i in range(5):
x = int(input("Podaj długość boku a: "))
y = int(input("Podaj długość boku b: "))
print("Pole:", x * y)
input("\nNaciśnij Enter, aby zakończyć")
oceny = [4, 5, 3, 5, 4]
for ocena in oceny:
print(ocena)
Pozwala obliczyć przybliżenie √x bez funkcji sqrt():
x = float(input("Pierwiastkuj: "))
a = x / 2
while abs(a - x / a) > 0.001:
a = (a + x / a) / 2
print("Wynik:", round(a, 4))
Funkcja (podprogram) to wydzielony, nazwany fragment kodu, który można wielokrotnie wywołać. Dzięki funkcjom kod jest czytelniejszy i łatwiejszy w utrzymaniu.
def nazwa_funkcji(parametry):
# ciało funkcji
return wartość # opcjonalne
def), a dopiero potem ją wywołujemy.
def szescian(a):
return a * a * a
bok = int(input("Bok sześcianu: "))
print("Objętość:", szescian(bok))
def pokaz_znaki(znaki):
for i in range(1, 11):
print(znaki * i)
emotikon = input("Wpisz znak: ")
pokaz_znaki(emotikon)
def,Lista to struktura przechowująca wiele wartości pod jedną nazwą. Elementy numerujemy od 0.
a = [10, 20, 30, 40, 50]
print(a[0]) # 10
print(a[4]) # 50
| Sposób | Przykład | Wynik |
|---|---|---|
| Wartości od razu | [31, 28, 31, 30] | lista 4 elementów |
| Ta sama wartość N razy | [0] * 10 | lista 10 zer |
| Rozmiar w zmiennej | N = 5; [0] * N | lista 5 zer |
N = 5
a = [0] * N
def wprowadz_dane():
for i in range(N):
a[i] = int(input("Podaj liczbę: "))
def wyprowadz_dane():
for i in range(N):
print(a[i])
wprowadz_dane()
wyprowadz_dane()
input("\nNaciśnij Enter, aby zakończyć")
Odpowiedz na pytania do każdego działu. Przejście do kolejnego pytania możliwe tylko po wybraniu poprawnej odpowiedzi. Do statystyk liczy się wyłącznie pierwsza odpowiedź.
Sprawdź znajomość całego materiału. Pytania losowane z różnych działów.
int, float, str,input() i print() oraz konwertować typy,if/else i operatorami logicznymi,for z range(),return i bez),