Liceum Klasa I 45 minut PP: II.1 | s. 343

Lekcja 8: Zmienne, typy danych, instrukcje wejscia/wyjscia

int, float, str, bool, input(), print(), konwersja typow

📋 Podstawa programowa: II.1
Pythonfloatinputintkonwersjaprintstrzmienne
00:00
Wprowadzenie
3 min
00:03
Teoria
18 min
00:21
Cwiczenia
19 min
00:40
Podsumowanie
5 min
📚

Teoria

Czym sa zmienne?

Zmienna to nazwane miejsce w pamieci komputera, w ktorym przechowujemy dane. Mozna ja sobie wyobrazic jako pudeldko z etykieta (nazwa), do ktorego wkladamy wartosc.

# Tworzenie zmiennych w Pythonie
imie = "Anna"          # zmienna tekstowa (str)
wiek = 16              # zmienna calkowita (int)
wzrost = 1.68          # zmienna zmiennoprzecinkowa (float)
czy_uczen = True       # zmienna logiczna (bool)
W Pythonie nie trzeba deklarowac typu zmiennej - Python sam rozpoznaje typ na podstawie przypisanej wartosci. To sie nazywa typowanie dynamiczne.

Zasady nazewnictwa zmiennych

  • Nazwa moze zawierac litery, cyfry i podkreslnik (_)
  • Nazwa nie moze zaczynac sie od cyfry (2zmienna - blad!)
  • Nazwa nie moze byc slowem kluczowym Pythona (np. if, for, print)
  • Python rozroznia wielkosc liter: Imie, imie, IMIE to 3 rozne zmienne!
  • Konwencja: uzywamy snake_case: moja_zmienna, liczba_uczniow

Cztery podstawowe typy danych

1. int (integer) - liczba calkowita

wiek = 16
temperatura = -5
rok = 2026
duza_liczba = 1_000_000  # podkreslniki poprawiaja czytelnosc
print(type(wiek))  # <class 'int'>

2. float - liczba zmiennoprzecinkowa (ulamkowa)

pi = 3.14159
wzrost = 1.75
temperatura = -2.5
procent = 0.85
print(type(pi))  # <class 'float'>

3. str (string) - lancuch znakow (tekst)

imie = "Anna"
nazwisko = 'Kowalska'
zdanie = "Witaj, swiecie!"
pusty = ""
print(type(imie))  # <class 'str'>

# Lancuchy znakow mozna laczyc (konkatenacja)
pelne_imie = imie + " " + nazwisko  # "Anna Kowalska"

# Mozna je takze powielac
linia = "-" * 20  # "--------------------"

4. bool (boolean) - wartosc logiczna

jest_uczen = True
ma_18_lat = False
print(type(jest_uczen))  # <class 'bool'>

# Wartosci logiczne powstaja tez z porownan
print(5 > 3)     # True
print(10 == 20)  # False

Instrukcja wyjscia - print()

Funkcja print() wyswietla dane na ekranie:

# Podstawowe uzycie
print("Witaj!")
print(42)
print(3.14)

# Wiele wartosci oddzielonych przecinkiem
imie = "Jan"
wiek = 16
print("Mam na imie", imie, "i mam", wiek, "lat")

# f-string - najwygodniejszy sposob formatowania (Python 3.6+)
print(f"Mam na imie {imie} i mam {wiek} lat")

# Parametry print()
print("A", "B", "C", sep="-")    # A-B-C (separator)
print("Linia 1", end=" ")         # bez nowej linii na koncu
print("Linia 2")                  # Linia 1 Linia 2

Instrukcja wejscia - input()

Funkcja input() pobiera dane od uzytkownika. Uwaga: input() ZAWSZE zwraca tekst (str)!

# Pobieranie tekstu
imie = input("Podaj swoje imie: ")
print(f"Czesc, {imie}!")

# Pobieranie liczby - TRZEBA konwertowac!
wiek_tekst = input("Podaj swoj wiek: ")  # np. "16" (to tekst!)
wiek = int(wiek_tekst)                     # teraz to liczba 16

# Skrocona forma:
wiek = int(input("Podaj swoj wiek: "))
wzrost = float(input("Podaj wzrost w metrach: "))
Czesty blad! Jesli nie przekonwertujesz wyniku input() na liczbe, dodawanie bedzie laczyc teksty zamiast sumowac: "5" + "3" = "53" zamiast 5 + 3 = 8.

Konwersja (rzutowanie) typow

# Konwersja na int
x = int("42")       # str -> int: 42
y = int(3.7)         # float -> int: 3 (obcina, nie zaokragla!)
z = int(True)        # bool -> int: 1

# Konwersja na float
a = float("3.14")    # str -> float: 3.14
b = float(5)          # int -> float: 5.0

# Konwersja na str
c = str(42)           # int -> str: "42"
d = str(3.14)         # float -> str: "3.14"

# Konwersja na bool
e = bool(0)           # int -> bool: False (0 = False)
f = bool(1)           # int -> bool: True (cokolwiek != 0 = True)
g = bool("")          # str -> bool: False (pusty tekst = False)
h = bool("tekst")    # str -> bool: True (niepusty tekst = True)

# Sprawdzanie typu
print(type(42))       # <class 'int'>
print(type("tekst"))  # <class 'str'>
✏️

Zadania

Latwe

Zadanie 1: Ankieta osobowa

Napisz program, ktory pobiera od uzytkownika: imie, nazwisko, wiek, miasto i klase, a nastepnie wyswietla ladnie sformatowana informacje o uczniu (uzyj f-stringow).

Pokaz przykladowe rozwiazanie
# Ankieta osobowa
imie = input("Podaj imie: ")
nazwisko = input("Podaj nazwisko: ")
wiek = int(input("Podaj wiek: "))
miasto = input("Podaj miasto: ")
klasa = input("Podaj klase: ")

print("\n--- KARTA UCZNIA ---")
print(f"Imie i nazwisko: {imie} {nazwisko}")
print(f"Wiek: {wiek} lat")
print(f"Miasto: {miasto}")
print(f"Klasa: {klasa}")
print("--------------------")
Latwe

Zadanie 2: Prosty kalkulator

Napisz program, ktory pobiera dwie liczby od uzytkownika i wyswietla ich sume, roznice, iloczyn i iloraz.

Pokaz przykladowe rozwiazanie
# Prosty kalkulator
a = float(input("Podaj pierwsza liczbe: "))
b = float(input("Podaj druga liczbe: "))

print(f"\n{a} + {b} = {a + b}")
print(f"{a} - {b} = {a - b}")
print(f"{a} * {b} = {a * b}")
if b != 0:
    print(f"{a} / {b} = {a / b}")
else:
    print("Nie mozna dzielic przez zero!")
Srednie

Zadanie 3: Kalkulator pola i obwodu

Napisz program, ktory pobiera dlugosci bokow prostokata (a i b) i oblicza:
- Pole (P = a * b)
- Obwod (O = 2 * (a + b))
- Dlugosc przekatnej (d = sqrt(a^2 + b^2))
Wyswietl wyniki zaokraglone do 2 miejsc po przecinku.

Pokaz przykladowe rozwiazanie
import math

a = float(input("Podaj dlugosc boku a: "))
b = float(input("Podaj dlugosc boku b: "))

pole = a * b
obwod = 2 * (a + b)
przekatna = math.sqrt(a**2 + b**2)

print(f"\nProstokat o bokach {a} x {b}:")
print(f"Pole: {pole:.2f}")
print(f"Obwod: {obwod:.2f}")
print(f"Przekatna: {przekatna:.2f}")
Trudne

Zadanie 4: Zamiana temperatury

Napisz program, ktory pobiera temperature w stopniach Celsjusza i przelicza ja na: Fahrenheita (F = C * 9/5 + 32) i Kelviny (K = C + 273.15). Nastepnie pobiera temperature w Fahrenheitach i przelicza na Celsjusza i Kelviny.

Pokaz przykladowe rozwiazanie
# Konwerter temperatur
print("=== Konwerter temperatur ===\n")

# Celsjusz -> inne
c = float(input("Podaj temperature w Celsjuszach: "))
f = c * 9/5 + 32
k = c + 273.15
print(f"{c}°C = {f:.2f}°F = {k:.2f} K\n")

# Fahrenheit -> inne
f2 = float(input("Podaj temperature w Fahrenheitach: "))
c2 = (f2 - 32) * 5/9
k2 = c2 + 273.15
print(f"{f2}°F = {c2:.2f}°C = {k2:.2f} K")
🎥

Materialy wideo

001 Instrukcje wejścia i wyjścia w języku Python
Jan Kozak
Operacje wejścia i wyjścia w Python
Tomasz Kaniecki (ALX)
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Lekcja 7: Srodowisko programistyczne Lekcja 9: Wyrazenia arytmetyczne i logiczne →