Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

Previous Tutorial Next Tutorial

Instrukcje warunkowe


Python posiada specjalny typ danych logicznych, który jest używany w instrukcjach warunkowych i pętlach. Wartości logiczne True albo False są najczęściej zwracane, kiedy porównujemy ze sobą dwie wartości.

x = 2
print x == 2 # wypisze True
print x != 2 # wypisze False
print x == 3 # wypisze False
print x < 3  # wypisze True

Do przypisania zmiennej pewnej wartości używa się operatora "=", podczas gdy do porównania ze sobą dwóch zmiennych służy podwójny znak równości "==". Natomiast operator "różne od" zapisujemy "!=".

Operatory logiczne

Operatory logiczne "and" i "or" (pol. "i" i "lub") pozwalają na budowanie kompletnych zdań logicznych, na przykład:

imie = "Jan"
wiek = 23
if imie == "Jan" and wiek == 23:
    print "Nazywasz sie Jan i masz 23 lata."

if imie == "Jan" or imie == "Robert":
    print "Nazywasz sie Jan lub Robert"

Operator "in"

Za pomocą operatora "in" możesz sprawdzić, czy konkretny obiekt znajduje sie w tablicy lub innym obiekcie gromadzącym inne obiekty:

imie = "Robert"
if imie in ["Jan", "Robert"]:
    print "Nazywasz sie Jan lub Robert"

Do oznaczania bloków kodu w Pythonie używamy wcięć zamiast nawiasów ani żadnych innych symboli. Standardowym wcięciem w Pythonie są 4 spacje, chociaż tabulator i inne wcięcia działają tak długo, jak trzymasz ich się konsekwentnie.

Poniżej jest przykład użycia instrukcji "if" razem z blokami kodu:

if <wyrażenie jest prawdziwe>:
    <rób coś>
    ....
    ....
elif <poprzednie wyrazenie jest falszywe, ale to prawdziwe>:
    <rób coś innego>
    ....
    ....
else: # jesli zadne z powyzszych nie jest prawdziwe
    <rób jeszcze coś innego>
    ....
    ....

Jeśli chesz, to możesz pominąć bloki elif i else.

Przykład:

x = 2
if x == 2:
    print "x wynosi dwa!"
else:
    print "x jest rozne od dwoch."

Dane wyrażenie jest prawdze, jeśli jeden z następujących warunków jest spełniony: 1. Wartość logiczna "True" jest pzypisywana do zmiennej lub jest wynikiem porónania arytmetycznego. 2. Kiedy pzypisany do zmiennej obiekt nie jest "pusty".

Tutaj jest kilka przykładowych obiektów postrzeganych jako puste: 1. Pusty napis: "" 2. Pusta tablica: [] 3. Liczba zero: 0 4. Zmienna logiczna zawierająca False: False

Operator "is"

W przeciwieństwie do "==", operator "is" nie sprawdza, czy zmienne mają taką samą wartość, ale czy wskazują na ten sam obszar w pamięci komputera. Na przykład:

x = [1,2,3]
y = [1,2,3]
print x == y # Wypisze True
print x is y # False

tablica = [1, 2, 3]
tablica2 = ['a', 'b', tablica]
print tablica == tablica2[2] # True
print tablica is tablica2[2] # True

# Ponizej dowod na to, ze is mowi prawde

tablica.append(4) # Dodajemy do tablicy liczbe 4
print tablica2[2] # [1, 2, 3, 4]

Ponieważ tablica i tablica2 odnoszą się do tego samego obiektu, więc zmiana jednej oznacza zmianę drugiej. Niestety istnieje w tym miejscu duże ryzyko pomyłki. Stosując proste podstawienie tablica traci kontakt ze starszym obiektem i zapisuje na jego miejscu całkiem nowy i niezależny.

tablica = [1, 2, 3]
tablica2 = ['a', 'b', tablica]
print tablica == tablica2[2] # True
print tablica is tablica2[2] # True

tablica2[2] = tablica + [4]
print tablica is tablica2[2] # False
print "tablica2 = ", tablica2[2]
print "tablica = ", tablica

Operator "not"

Używając "not" przed wyrażeniem logicznym zmieniamy jego wartość na przeciwną:

print not False              # Wypisze True
print (not False) == (False) # Wypisze False

Ćwiczenie

Zmień zmienne tak w pierwszej części kodu tak, aby wszystkie instrukcje "if" zwracały True.


This site generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial