Python チュートリアル - 制御フローツール

  1. if…else ステートメント
  2. if ステートメント
  3. if ... else ステートメント
  4. if ... elif ... else ステートメント
  5. ネストされた if ステートメント

このセクションでは、Python プログラミングの制御フローツールについて学習します。最も使用される制御フローツールは、「if … else」構造です。

if…else ステートメント

ステートメントの 2つのブロックがあり、いくつかの条件に基づいて 1つだけを実行する場合、if…else ステートメントが使用されます。Python プログラミングでは、主に「if…elif…else」が意思決定の構成要素として使用されます。

if ステートメント

if ステートメントにはステートメントのブロックが 1つしかなく、このブロックは条件が True の場合にのみ実行され、条件が False の場合は無視されます。

以下は Python の if ステートメントの構文です:

if condition:
    statement(s)

Python の if ステートメントの本体は中括弧で囲まれていませんが、代わりにインデントが使用されています。ボディの終わりは、最初の意図しない行で示されます。

 if ステートメントの例

if ステートメントが使用される次の例を考えてみましょう。

a = 24
if a % 2 == 0:
    print(a, "is an even number")
b = 23
if b % 2 == 0:
    print(b, "is an odd number")
24 is an even number

このコードでは、変数 a に最初に値が割り当てられ、次に if ステートメントの条件が評価されます。a のモジュラスを 2 で取り、%(mod)の結果が 0 である場合、ifprint ステートメントが実行されます。

次に、b には奇数の 23 が割り当てられます。if ステートメントの条件は True ではないため、print(b、 "is is odd number") は実行されません。

if ... else ステートメント

以下は、if ... else ステートメントの構文です。

if condition:
    block of statements
else:
    block of statements

「if … else」では、if 条件が True の場合、対応するステートメントのブロックが実行されます。そうでない場合、else 部分の下のステートメントのブロックが実行されます。

if ... else ステートメントの例

if ... else が使用されている以下のコードを検討してください。

a = 44
if a%2==0:
    print(a, "is an even number")
else:
    print(a, "is an odd number")
44 is an even number

ここで、a が偶数の場合、a is a even number が出力されます。それ以外の場合、「a は奇数」が出力されます。

注意

if ブロックと else ブロックは、実行も無視もできません。条件が True であるかどうかに基づいて、1つのブロックのみが実行されます。

if ... elif ... else ステートメント

以下は、if ... elif ... else ステートメントの構文です:

if condition:
    block of statements
elif condition:
    block of statements
else:
    block of statements

elif は「else if」の略で、この if..elif..else 構文で複数回使用できます。

if の下の条件が False になると、elif の条件がチェックされます。ifelif のすべての条件が False の場合、else 部分が実行されます。

注意

1つのブロックのみが実行されます。

if ... elif ... else ステートメントの例

複数の条件をチェックする if ... elif ... else ステートメントを使用した以下のコードを考えてください。

a = -34
if a > 0:
    print("Number is Positive")
elif a < 0:
    print("Number is Negative")
else:
    print("Number is zero")
Number is Negative

ネストされた if ステートメント

Python では、別の if ステートメント内に if を含めることができます。これはネストされた if ステートメントと呼ばれます。

任意のタイプの if ステートメントを何度でもネストできます。しかし、プログラムの読みやすさが悪化するため、プログラミング言語でネストされた if 構造を使用することは良い習慣ではありません。

ネストされた if ステートメントの例

次のコードでは、ネストされた if 構造が最大数を見つけるために使用されます:

T = 52

if T > 25:
    if T < 50:
        print("Temperature is higher than 25 but lower than 50")
    else:
        print("Temperature is higher than 50")
else:
    if T < 0:
        print("Temperature is lower than 0")
    else:
        print("Temperature is higher than 0 but lower than 25")
Temperature is higher than 50
comments powered by Disqus