Podmíněný příkaz if v Pythonu je jedním z hlavních programovacích nástrojů a umožňuje provádět určité akce v závislosti na pravdivosti nebo nepravdivosti dané podmínky. Pokud potřebujete zkontrolovat více podmínek v jednom bloku kódu, můžete k tomu použít návrh if s více podmínkami.
K tomu lze použít logické operátory, jako jsou and (a), or (nebo) a not (ne), které umožňují kombinovat více podmínek v jednom výrazu. Můžete například zkontrolovat, zda je číslo současně větší než 5 a menší než 10 pomocí výrazu if x > 5 and x < 10:. Pokud je podmínka pravdivá, kód uvnitř jednotky if bude splněn, jinak bude kód vynechán.
Lze použít i operátor elif pro ověření několika podmínek postupně. Pokud podmínka v bloku if není pravdivá, bude ověřena následující podmínka v bloku elif a tak dále, dokud nebude nalezena skutečná podmínka nebo dokud nebude dosaženo bloku else, který je splněn, pokud žádná z podmínek není pravdivá.
Příklad 1: Kontrola rovnosti několika proměnných
V Pythonu můžeme použít příkaz if s více podmínkami ke kontrole, zda se více proměnných rovná.
Vezměme si následující příklad:
a = 5b = 5c = 10if a == b and b == c:print("a, b и c равны")else:print("a, b и c не равны")
V tomto případě jsou proměnné a A b stejné , ale nejsou stejné jako proměnná c, takže bude vyvedena zpráva "a, b A c nejsou stejné".
Použití příkazu and vám umožňuje sloučit podmínky a splnit kód pouze tehdy, jsou-li všechny podmínky pravdivé.
Příklad 2: Kontrola rovnosti proměnné současně s jinou podmínkou
Řekněme například, že máme dvě proměnné: age (věk) a score (skóre). Chceme zkontrolovat, zda je věk větší nebo rovný 18 a skóre nad 80. Pokud jsou obě podmínky pravdivé, pak je splněn nějaký kód.
Zde je příklad kódu:
if age >= 18 and score > 80:
# proveďte další akce
V tomto příkladu, pokud je proměnná age 20 a score 85, pak bude kód uvnitř příkazu if proveden. V opačném případě, pokud není splněna pouze jedna z podmínek, kód uvnitř příkazu if nebude splněn.
Pomocí příkazu logického " a " (and) můžeme kontrolovat nejen rovnost proměnných, ale i jiné podmínky současně.
Příklad 3: kontrola položky v seznamu a shoda s jinou podmínkou
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]if 5 in numbers and 5 % 2 == 0:print("Число 5 есть в списке и является четным.")else:print("Число 5 либо отсутствует в списке, либо не является четным.")
Число 5 либо отсутствует в списке, либо не является четным.
Příklad 4: kontrola shody proměnné s více podmínkami pomocí příkazu "nebo"
V Pythonu můžete použít příkaz "nebo" (or) ke kontrole, zda proměnná odpovídá jedné z několika podmínek. Pokud je alespoň jedna z podmínek pravdivá, pak bude blok kódu uvnitř návrhu if splněn.
V následujícím příkladu máme proměnnou "x" a její hodnotu ověřujeme pomocí několika podmínek pomocí příkazu"nebo":
| Hodnota proměnné"x" | Výsledek |
|---|---|
| x = 5 | Podmínka 1: x < 0 (nepravdivá) Podmínka 2: x > 10 (nepravdivá) Podmínka 3: x = = 5 (pravda) Výsledek: podmínka 3 je pravdivá, je splněn blok kódu uvnitř návrhu if |
| x = 15 | Podmínka 1: x < 0 (nepravdivá) Podmínka 2: x > 10 (pravda) Podmínka 3: x = = 5 (nepravdivá) Výsledek: podmínka 2 je pravdivá, je splněn blok kódu uvnitř návrhu if |
| x = -2 | Podmínka 1: x < 0 (pravda) Podmínka 2: x > 10 (nepravdivá) Podmínka 3: x = = 5 (nepravdivá) Výsledek: podmínka 1 je pravdivá, je splněn blok kódu uvnitř návrhu if |
| x = 0 | Podmínka 1: x < 0 (nepravdivá) Podmínka 2: x > 10 (nepravdivá) Podmínka 3: x = = 5 (nepravdivá) Výsledek: Žádná z podmínek není pravdivá, blok kódu uvnitř návrhu if se neprovádí |
Při použití příkazu "nebo" se provede blok kódu uvnitř návrhu if, pokud je alespoň jedna z podmínek pravdivá. Pokud jsou všechny podmínky nepravdivé, blok kódu nebude splněn a program se přesune do další části kódu.
Příklad 5: kontrola shody proměnné s několika podmínkami pomocí příkazu"a"
Příkaz " a " v Pythonu se používá k ověření shody několika podmínek současně. To je zvláště užitečné, když musíme zkontrolovat proměnnou, aby splňovala více požadavků najednou.
Níže je uveden příklad kódu, který kontroluje hodnotu proměnné "x" tak, aby splňovaly dvě podmínky současně:
x = 10if x > 0 and x < 20:print("Переменная x соответствует условиям")else:print("Переменная x не соответствует условиям")
Operátor " a " nám tedy umožňuje zkontrolovat proměnnou, abychom splnili více podmínek najednou.
Příklad 6: Kontrola shody proměnné s více podmínkami pomocí příkazu"ne"
V tomto příkladu se podíváme na situaci, kdy musíme zkontrolovat, zda hodnota proměnné a odpovídá jedné z několika podmínek, s výjimkou určité hodnoty.
K tomu použijeme příkaz " Ne " (not), který umožňuje Invertovat výsledek kontroly podmínky.
Vezměme si například proměnnou a rovnající se 5. Naším úkolem je ověřit, že hodnota a není ani 10, ani 15.
a = 5if not (a == 10 or a == 15):print("Значение a соответствует условию")else:print("Значение a не соответствует условию")
Při provádění uvedeného kódu se tedy na obrazovku zobrazí zpráva "hodnota a splňuje podmínku", protože hodnota proměnné a je 5 a není ani 10, ani 15.
Příklad 7: kontrola shody proměnné s jednou z několika podmínek pomocí příkazu "nebo"
Příkaz " nebo "v Pythonu je označen symbolem"|". Umožňuje vám zkontrolovat, zda hodnota proměnné odpovídá alespoň jedné z několika podmínek.
Předpokládejme, že máme proměnnou "x", která může mít hodnoty 1, 2 nebo 3. Chceme zkontrolovat, zda hodnota proměnné odpovídá jednomu z těchto tří čísel.
x = 2if x == 1 | x == 2 | x == 3:print("Значение переменной соответствует одному из трех чисел: 1, 2, 3")else:print("Значение переменной не соответствует ни одному из трех чисел")
Hodnota proměnné odpovídá jednomu ze tří čísel: 1, 2, 3