Przejdź do głównej treści
eLearner.app
Moduł 1 · Lekcja 3 z 43/36 w kursie~10 min
Lekcje modułu (3/4)

Warunki: if, elif, else

Instrukcje warunkowe pozwalają na uruchamianie różnego kodu w zależności od wartości wyrażenia logicznego. W Pythonie zapisuje się je za pomocą if, elif (skrót od "else if") i else.

Podstawowa forma

Python
eta = 18
if eta >= 18:
    messaggio = "maggiorenne"
else:
    messaggio = "minorenne"

Zwróć uwagę:

  • po warunku zawsze występuje dwukropek :;
  • blok "wewnątrz" instrukcji if jest identyfikowany przez wcięcie (4 spacje);
  • nie potrzebujesz nawiasów wokół warunku (chociaż są one dozwolone).

Więcej gałęzi dzięki elif

Python
voto = 7
if voto >= 9:
    giudizio = "ottimo"
elif voto >= 7:
    giudizio = "buono"
elif voto >= 6:
    giudizio = "sufficiente"
else:
    giudizio = "insufficiente"

Gałęzie elif są oceniane w kolejności ich zapisu i zatrzymują się na pierwszej, która okaże się prawdziwa.

Wyrażenie warunkowe (ternary)

W prostych przypadkach możesz zapisać wszystko w jednej linii:

Python
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"

Czyta się to naturalnie po angielsku: "maggiorenne if eta >= 18 else minorenne".

Wartości "Truthy" / "falsy"

Warunek nie musi być porównaniem: jako warunek można użyć dowolnej wartości. Za fałszywe uważa się: False, None, 0, "", [], {}. Wszystko inne jest prawdziwe.

Python
nome = "Ada"
if nome:
    saluto = f"Ciao {nome}!"
else:
    saluto = "Ciao sconosciuto!"

Wyrażenia warunkowe (operator trójargumentowy)

Python obsługuje kompaktową, jednoelementową konstrukcję if-else, która działa jako operator trójargumentowy znany z innych języków:

Python
result = "Even" if n % 2 == 0 else "Odd"

Dzięki temu Twój kod pozostaje zwięzły, gdy po prostu musisz przypisać wartość na podstawie warunku.

Spróbuj sam

Ćwiczenie#python.m1.l3.e1
Próby: 0Ładowanie...

Mając dane `number = 15`, przypisz do `sign` ciąg znaków 'positivo', jeśli liczba jest > 0, 'zero', jeśli jest równa 0, 'negativo' w przeciwnym razie. Oceń `sign`.

Ładowanie edytora...
Pokaż wskazówkę

Trzy gałęzie: > 0, == 0, else.

Rozwiązanie dostępne po 3 próbach

Ćwiczenie powtórzeniowe

Ćwiczenie#python.m1.l3.e2
Próby: 0Ładowanie...

Mając dane `age = 20`, przypisz do `category` ciąg znaków 'maggiorenne' lub 'minorenne' za pomocą wyrażenia trójargumentowego (if/else w jednej linii).

Ładowanie edytora...
Pokaż wskazówkę

Składnia: value_if_true if condition else value_if_false

Rozwiązanie dostępne po 3 próbach

Dodatkowe wyzwanie

Ćwiczenie#python.m1.l3.e3
Próby: 0Ładowanie...

Napisz strukturę warunkową, która sprawdza, czy zmienna `x` (zainicjowana na `-5`) jest większa od 0, mniejsza od 0 lub równa 0. Przypisz odpowiednio ciąg znaków `'positive'`, `'negative'` lub `'zero'` do `sign`. Na koniec oceń `sign`.

Ładowanie edytora...
Pokaż wskazówkę

Użyj if x > 0:, elif x < 0:, i else: aby obsłużyć te trzy przypadki.

Rozwiązanie dostępne po 3 próbach