GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Python if..else

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, pokud and a b jsou si rovni.
  • a != b - Pravda, pokud and a b nejsou si rovni.
  • a > b - Pravda, pokud and je větší než b .
  • a >= b - Pravda, pokud and je rovno nebo větší než b .
  • a < b - Pravda, pokud and je menší než b .
  • a <= b - Pravda, pokud and je 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ář.


Linux
  1. Převod kódu Python 2 na Python 3

  2. Jak na to:Programování soketů v Pythonu

  3. 4 Příklady příkazů Bash If ( If then fi, If then else fi, If elif else fi, Nested if )

  1. Jak nainstalovat Python na Linux

  2. Instalace Pythonu 3.3.2?

  3. Bash/sh příkaz „jestli je to jinak“.

  1. Nainstalujte python-novaclient na Windows

  2. Nastavte Python na IIS 7.5

  3. 4 Příklady prohlášení Awk If ( if, if else, if else if, :? )