Zmienne w Pythonie, typy danych (int, float, str, bool), wejscie/wyjscie, konwersja typow
ð Podstawa programowa: II.1Zmienna to nazwane miejsce w pamieci komputera, w ktorym przechowujemy dane. Mozna ja sobie wyobrazic jako pudelko z etykieta - etykieta to nazwa zmiennej, a zawartosc pudelka to jej wartosc. W Pythonie zmienne tworzymy przez proste przypisanie wartosci za pomoca znaku rownosci. Nie trzeba deklarowac typu zmiennej - Python sam go rozpoznaje na podstawie przypisanej wartosci. Ta cecha nazywa sie typowaniem dynamicznym i jest jedna z najwazniejszych wlasciwosci Pythona.
Kazda zmienna w Pythonie ma trzy cechy: nazwe (identyfikator), wartosc (przechowywane dane) i typ (rodzaj danych). Typ zmiennej moze sie zmieniac w trakcie dzialania programu - ta sama zmienna moze najpierw przechowywac liczbe, a potem tekst. Chociaz jest to wygodne, poczatkujacy programisci powinni unikac takiego mieszania typow, poniewaz utrudnia to czytanie i debugowanie kodu.
# Tworzenie zmiennych w Pythonie
imie = "Jan" # zmienna tekstowa (string)
wiek = 16 # zmienna calkowita (integer)
srednia = 4.75 # zmienna zmiennoprzecinkowa (float)
zdal_egzamin = True # zmienna logiczna (boolean)
Python ma cztery podstawowe typy danych, ktore poznamy na poczatku nauki. Kazdy typ sluzy do przechowywania innego rodzaju informacji:
Typ | Nazwa Python | Przyklady | Opis
----------|-------------|---------------------|------------------
int | int | 42, -7, 0, 1000 | Liczby calkowite
float | float | 3.14, -0.5, 2.0 | Liczby zmiennoprzecinkowe
str | str | "Ala", 'Python' | Lancuchy znakow (tekst)
bool | bool | True, False | Wartosci logiczne
# Sprawdzanie typu:
>>> type(42) # <class 'int'>
>>> type(3.14) # <class 'float'>
>>> type("tekst") # <class 'str'>
>>> type(True) # <class 'bool'>
Funkcja print() wypisuje dane na ekran (konsole). Mozna przekazac jej jeden lub wiele argumentow, oddzielonych przecinkami. Szczegolnie wygodne sa f-stringi - formatowane lancuchy tekstowe, w ktorych wartosci zmiennych wstawiamy w nawiasy klamrowe:
# Rozne sposoby uzycia print()
print("Witaj!") # tekst
print(42) # liczba
print("Wynik:", 2 + 3) # tekst i obliczenie
print("Imie:", imie, "Wiek:", wiek) # wiele wartosci
# f-string (formatowany tekst) - ZALECANY SPOSOB!
print(f"Mam na imie {imie} i mam {wiek} lat.")
# Wynik: Mam na imie Jan i mam 16 lat.
Funkcja input() czyta dane od uzytkownika z klawiatury. Bardzo wazne jest, ze input() ZAWSZE zwraca tekst (str), nawet jesli uzytkownik wpisze liczbe. Aby uzyskac liczbe, trzeba wykonac konwersje typu za pomoca int() lub float():
# input() ZAWSZE zwraca tekst (str)!
imie = input("Podaj swoje imie: ")
print(f"Czesc, {imie}!")
# Aby wczytac liczbe - trzeba skonwertowac typ!
wiek = int(input("Podaj swoj wiek: "))
wzrost = float(input("Podaj wzrost (m): "))
# Konwersja miedzy typami:
int("42") # str -> int = 42
float("3.14") # str -> float = 3.14
str(42) # int -> str = "42"
int(3.99) # float -> int = 3 (obcina!)
float(5) # int -> float = 5.0
# UWAGA! Te wywolania spowoduja blad ValueError:
# int("abc") - tekst nie jest liczba
# int("3.14") - uzyj float() najpierw
# kalkulator_bmi.py - oblicza wskaznik BMI
print("=== Kalkulator BMI ===")
imie = input("Podaj imie: ")
masa = float(input("Podaj mase ciala (kg): "))
wzrost = float(input("Podaj wzrost (m): "))
bmi = masa / (wzrost ** 2)
print(f"\n{imie}, Twoje BMI wynosi: {bmi:.1f}")
# {bmi:.1f} - wyswietla z jednym miejscem po przecinku
Napisz program, ktory pyta uzytkownika o imie, nazwisko, wiek i klase (uzyj input()), a nastepnie wyswietla ladnie sformatowana wizytowke z ramka. Uzyj f-stringow do formatowania.
Napisz program wczytujacy dlugosci bokow prostokata (a i b jako float) i wyswietlajacy pole (a*b) i obwod (2*(a+b)). Wyniki wyswietl z dwoma miejscami po przecinku.
Napisz program, ktory wczytuje liczbe sekund (int) i zamienia ja na godziny, minuty i sekundy. Uzyj operatorow // i %. Przyklad: 3661 sekund = 1:01:01.
Napisz program wczytujacy 5 ocen (int, od 1 do 6), ktory oblicza srednia arytmetyczna, znajduje ocene najwyzsza i najnizsza, i wyswietla wyniki zaokraglone do 2 miejsc po przecinku. Uzyj min() i max() lub zrob to recznie.