Python #2 (deklaracje zmiennych, typy zmiennych, f-string)

Python #2 (deklaracje zmiennych, typy zmiennych, f-string)
Photo by Tai Bui / Unsplash
  1. Przelicznik km na mile i kalkulator BMI:
km = float(input("podaj odległość w kilometrach "))
mile = km * 0.621371192
print(f"{km} km to {mile:.2f} mile")
waga = float(input("Podaj swoją wagę (kg): "))
wzrost = float(input("Podaj swój wzrost (m): "))
bmi = waga/(wzrost**2)
print ("Twoje BMI wynosi", (bmi))
  1. Kalkulator BMI - kod alternatywny
# 1) Dane od użytkownika (wzrost w cm i masa w kg)
wzrost_cm = float(input("Podaj wzrost w centymetrach (np. 170): ").replace(",", "."))
masa_kg = float(input("Podaj masę w kilogramach (np. 68.5): ").replace(",", "."))

# 2) Zamiana wzrostu na metry
wzrost_m = wzrost_cm / 100

# 3) Obliczenie BMI
bmi = masa_kg / (wzrost_m ** 2)

# 4) Zaokrąglenie i wypisanie
print(f"Twoje BMI: {bmi:.1f}")

Zmienna - def. z wiki - konstrukcja programistyczna posiadająca trzy podstawowe atrybuty: symboliczną nazwę, miejsce przechowywania i wartość.

Dla begginerów: https://www.w3schools.com/python/
https://wiki.robisz.to/books/python (tam są pojęcia wyjaśnione w oparciu o 'słoiki')😄

Deklaracja zmiennych

Zmienne deklarujemy wg. poniższego schematu:

nazwa_zmiennej = zawartość

Znak równości służy do przypisania nazwy (którą umieszczamy po lewej stronie znaku) do jakiegoś obiektu (który umieszczamy po prawej stronie znaku).

Znak równości służy do przypisania wartości =.
Do porównywania używamy dwóch znaków równości ==.

Tworząc nazwę TRZEBA przestrzegać kilku zasad:
  • nazwa nie może zawierać większości znaków specjalnych (w tym spacji - można zastąpić ją _ );
  • nie może składać się z samych liczb, ani zaczynać od nich (liczba może być w środku nazwy);
  • nie może zawierać polskich znaków;
  • raczej MAŁE litery (Dużymi literami piszemy nazwy klas, lub stałe).
Dobrą praktyką jest:
  • używanie jedynie małych liter
  • jeśli chcemy aby nazwa składała się z kilku słów oddzielamy je “podłogą” (np. moje_miasto)
  • nadawanie nazw, które dobrze oddają zawartość (nie powinny jednak być przesadnie długie).

Typy zmiennych

  • tekstowe str (string) - łańcuch znaków: tekst w ' ' albo " ".
imie = "Natalia"
powitanie = "Cześć"
print(type(imie))  # <class 'str'>
  • liczby całkowite int (integer) - służą do przechowywania liczb całkowitych (bez części ułamkowej). Mogą być dodatnie, ujemne.
wiek = 25
rok = 2025
temperatura = -10
print(type(wiek))  # <class 'int'>
  • Liczby zmiennoprzecinkowe float - liczby z częścią ułamkową (dziesiętną). W Pythonie używamy kropki, nie przecinka.
pi = 3.14159
waga = 68.5
print(type(pi))  # <class 'float'>
  • Wartości logiczne bool - mają tylko dwie wartości: True (prawda; 1) lub False (fałsz; 0). Używane w warunkach (if, while).
czy_student = True
czy_pracownik = False
print(type(czy_student))  # <class 'bool'>

Operacje na liczbach

a = 10
b = 3

print(a + b)   # dodawanie → 13
print(a - b)   # odejmowanie → 7
print(a * b)   # mnożenie → 30
print(a / b)   # dzielenie (wynik float) → 3.3333...
print(a // b)  # dzielenie całkowite → 3
print(a % b)   # reszta z dzielenia → 1
print(a ** b)  # potęgowanie (10^3) → 1000

Typy zmiennych a operacje:

  • int i float - wszystkie możliwe
  • bool - dodawanie, odejmowanie i mnożenie
  • str - dodawanie "kot" + "pies" = "kotpies"; "kot" + " " + "pies"=" kot pies"; mnożenie tak, ale przez liczbę.

Poznane funkcje

Input - służy do umożliwienia użytkownikowi wprowadzenia jakiejś zawartości.

  • wszystko co zostanie wprowadzone w ten sposób będzie traktowane jako str,
imię = input("Podaj imię: ")
  • jeśli chcemy wprowadzić z wykorzystaniem input liczbę musimy dokonać konwersji z tekstu na np. liczbę całkowitą, lub zmiennoprzecinkową
wzrost = float(input("Podaj wzrost w metrach: "))

Print - służy do wypisywania informacji na ekran.

x = 10
y = 20
print("Wartości:", x, y)

Wyświetli: Wartości: 10 20


Co to są f-stringi?

To sposób na wstawianie zmiennych do tekstu w Pythonie.
Zamiast sklejać napisy i liczby, możesz użyć f"..." i wstawić zmienną w {}.

# Napisz program, który: poprosi użytkownika o imię i wiek, wypisze zdanie w stylu:„Mam na imię Kasia i mam 30 lat.”

imie = input("Podaj swoje imię: ")
wiek = int(input("Podaj wiek: "))
print(f"Mam na imię {imie} i mam {wiek} lat")

Bez f-stringów byłoby tak:

print("Mam na imię " + imie + " i mam " + str(wiek) + " lat.")

Formatowanie liczb - liczba miejsc po przecinku.

pi = 3.14159
print(f"Pi ≈ {pi:.2f}")