Pythonのif文まとめ

Pythonのelifが最初よく理解できず、併せてfor文のネストも混乱したのでまとめておく。今回、if文を勉強するために参照した以下のサイトの図やコードを引用している。

www.programiz.com

What you will learn

Pythonのif文.

  1. if statements
  2. if...else statements
  3. if...elif...else statements
  4. nasted if statements
  5. nasted if statements with elfi (same sa switch statement)

Notice

  • インデントが重要
    • Pythonのif文のbodyはインデントで表現する。なのでPythonにおいてインデントはより重要
    • Javaのように{}などでブロックは作成しない
  • elfiが特殊
    • Pythonにはdefaultではswitch-case文がないので、switch-case文などを書きたい場合にも活躍する
  • True : non-zero or non-null
  • False : zero or null

1. if statements

Synax

if test expression:
    statement(s)

Flow Diagram

f:id:mizushou:20190113233942p:plain

Example

var1 = 100
if var1:
    print("1-Got a true expression value")
    print(var1)
var2 = 0
if var2:
    print("2-Got a ture expression value")
    print(var2)
print("Good bye!")

Output

1-Got a true expression value
100
Good bye!

2. if...else statements

Synax

if test expression:
    Body of if
else:
    Body of else

Flow Diagram

f:id:mizushou:20190113234141p:plain

Example

var1 = 100
if var1:
    print("1-Got a true expression value")
    print(var1)
else:
    print("1-Got a false expression value")
    print(var1)

var2 = 0
if var2:
    print("2-Got a true expression value")
    print(var2)
else:
    print("2-Got a false expression value")
    print(var2)
print("Good bye!")

Output

1-Got a true expression value
100
2-Got a false expression value
0
Good bye!

3. if...elif...else statements

Synax

if test expression:
    Body of if
elif test expression:
    Body of elif
else:
    Body of else

Flow Diagram

f:id:mizushou:20190113234209p:plain

Example

var = 100
if var == 200:
    print("1-Got a true expression value")
    print(var)
elif var == 150:
    print("2-Got a true expression value")
    print(var)
elif var == 100:
    print("3-Got a true expression value")
    print(var)
else:
    print("4-Got a true expression value")
    print(var)
print("Good bye!")    

Output

3-Got a true expression value
100
Good bye!

4. nasted if statements

Synax

if test expression1:
    if test expression2:
        Body of if2
    else:
        Body of els2
else:
    Body of else1

Flow Diagram

f:id:mizushou:20190114223236p:plain

Example

var1 = 100

if var1 % 2 == 0:
    print("even number")
    if var1 % 5 == 0:
        print("multiple of five")
    else:
        print("not multiple of five")
else:    
    print("odd number")

Output

even number
multiple of five

5. nasted if statements with elfi (same as switch statement)

Synax

if test expression:
    Body of if
elif test expression1:
    Body of elif1
elif test expression2:
    Body of elif2
elif test expression3:
    Body of elif3
             .
             .
             .
else:
    Body of else

Flow Diagram

f:id:mizushou:20190114230308p:plain

Example

var = 2
if var == 1:
    print("case1")
elif var == 2:
    print("case2")
elif var == 3:
    print("case3")
elif var == 4:
    print("case4")
else:
    print("default")

Output

case2

Javaのswitch-case文で書くと...

public class SwitchCaseExample2 {

   public static void main(String args[]){
      int i=2;
      switch(i)
      {
     case 1:
       System.out.println("Case1 ");
       break;
     case 2:
       System.out.println("Case2 ");
       break;
     case 3:
       System.out.println("Case3 ");
       break;
     case 4:
       System.out.println("Case4 ");
       break;
  default:
       System.out.println("Default ");
      }
   }
}

Output

case2