Rozhodování je jedním z nejzákladnějších pojmů počítačového programování. Python podporuje běžné příkazy řízení toku, které se vyskytují v jiných jazycích, s určitými úpravami. if kontrolní příkaz je jedním z nejzákladnějších a nejznámějších příkazů používaných ke spuštění kódu na základě konkrétní podmínky.
V tomto článku projdeme základy if příkaz v Pythonu.
Python if Prohlášení #
Nejzákladnější forma if příkaz v Pythonu je následující:
if EXPRESSION:
STATEMENT
if příkaz začíná if klíčové slovo následované podmíněným výrazem.
EXPRESSION musí následovat (: ) dvojtečka. Pokud EXPRESSION vyhodnotí jako True , STATEMENT je popraven. Pokud EXPRESSION vrátí False , nic se neděje; STATEMENT se ignoruje. STATEMENT být libovolný příkaz, včetně více příkazů nebo dále vnořených if prohlášení. Pokud nechcete provádět žádné příkazy, použijte pass prohlášení.
STATEMENT blok začíná odsazením a končí prvním neodsazeným řádkem. Většina lidí se rozhodne použít odsazení se 4 nebo 2 mezerami. Oficiální průvodce styly pro kód Python doporučuje používat 4 mezery na úroveň odsazení a vyhnout se míchání tabulátorů a mezer pro odsazení.
Podívejme se na následující příklad skriptu, který kontroluje, zda je dané číslo větší než 5.
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
Uložte kód do souboru a spusťte jej z příkazového řádku:
python test.py
Skript vás vyzve k zadání čísla. Pokud například zadáte 10, podmíněný výraz se vyhodnotí jako True (10 je větší než 5) a print funkce bude provedena.
10 is greater than 5.
Python podporuje standardní operace porovnání:
a == b- Pravda, pokudandabjsou si rovni.a != b- Pravda, pokudandabnejsou si rovni.a > b- Pravda, pokudandje větší nežb.a >= b- Pravda, pokudandje rovno nebo větší nežb.a < b- Pravda, pokudandje menší nežb.a <= b- Pravda, pokudandje rovno nebo menší nežb.
Můžete také použít in klíčové slovo pro kontrolu, zda je hodnota přítomna v iterovatelném (řetězec, seznam, n-tice, slovník atd.):
s = 'linuxize'
if 'ze' in s:
print('True.')
Zde je další příklad použití slovníku:
d = {'a': 2, 'b': 4}
if 'a' in d:
print('True.')
Při použití ve slovníku in klíčové slovo kontroluje, zda má slovník specifický klíč.
Chcete-li negovat podmíněný výraz, použijte logické not operátor:
number = int(input('Enter a number: '))
if not number < 5:
print(number, 'is greater than 5.')
if..else Prohlášení #
if..else příkaz vyhodnotí podmínku a provede jeden ze dvou příkazů v závislosti na výsledku.
Python if..else výpis má následující tvar:
if EXPRESSION:
STATEMENT1
else:
STATEMENT2
Pokud EXPRESSION vyhodnotí jako True , STATEMENT1 je proveden. V opačném případě, pokud EXPRESSION vrátí False , STATEMENT2 je proveden. Můžete mít pouze jeden else klauzule v prohlášení.
else klíčové slovo musí končit (: ) dvojtečka a musí mít stejnou úroveň odsazení jako odpovídající if klíčové slovo.
Pojďme přidat else klauzule k předchozímu příkladu skriptu:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
else:
print(number, 'is equal or less than 5.')
Pokud spustíte kód a zadáte číslo, skript vypíše jinou zprávu podle toho, zda je číslo větší nebo menší/rovno 5.
if..elif..else Prohlášení #
elif klíčové slovo je zkratka pro else if .
Python if..elif..else výpis má následující tvar:
if EXPRESSION1:
STATEMENT1
elif: EXPRESSION2:
STATEMENT2
else:
STATEMENT3
Pokud EXPRESSION1 vyhodnotí jako True , STATEMENTS1 je proveden. Pokud EXPRESSION2 vyhodnotí jako True , STATEMENTS2 je proveden. Pokud se žádný z výrazů nevyhodnotí jako True , STATEMENTS3 se provede.
elif klíčové slovo musí končit (: ) dvojtečka a musí mít stejnou úroveň odsazení jako odpovídající if klíčové slovo. Můžete mít jeden nebo více elif doložky v prohlášení. else doložka je nepovinná. Pokud else klauzule není použita a všechny výrazy jsou vyhodnoceny jako False , žádný z příkazů není proveden.
Podmínky se vyhodnocují postupně. Jakmile podmínka vrátí True , zbývající podmínky se neprovedou a řízení programu se přesune na konec if prohlášení.
Pojďme přidat elif klauzule k předchozímu skriptu:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
elif number < 5:
print(number, 'is less than 5.')
else:
print(number, 'is equal to 5.')
Na rozdíl od většiny programovacích jazyků Python nemá switch nebo case prohlášení. Sekvence více elif příkazy lze použít jako náhradu za switch nebo case .
Vnořené if Výroky #
Python vám umožňuje vnořit if příkazy v rámci if prohlášení. Obecně byste se měli vždy vyhnout přílišnému odsazení a zkusit použít elif místo vnoření if prohlášení.
Následující skript vás vyzve k zadání tří čísel a vytiskne největší číslo z čísel.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2:
if number1 > number3:
print(number1, 'is the largest number.')
else:
print(number3, 'is the largest number.')
else:
if number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Takto bude výstup vypadat:
Enter the first number: 455
Enter the second number: 567
Enter the third number: 354
567 is the largest number.
Více podmínek #
Logické or a and operátory umožňují kombinovat více podmínek v if prohlášení.
Zde je další verze skriptu pro tisk největšího čísla ze tří čísel. V této verzi namísto vnořeného if příkazy, budeme používat logické and operátor a elif .
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2 and number1 > number3:
print(number1, 'is the largest number.')
elif number2 > number3 and number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Závěr č.
if , if..else a if..elif..else příkazy vám umožňují řídit tok provádění Pythonu vyhodnocením daných podmínek.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.