DESIGNMAP

  1. TOP
  2. 公開講座
  3. ゼロから始めるPython入門
  4. 条件分岐 ー ゼロから始めるPython入門【Vol.5】

条件分岐 ー ゼロから始めるPython入門【Vol.5】

Atomを起動します。[ファイル]メニュー→[新規ファイル]をクリックします。[ファイル]メニュー→[保存]をクリックします。Vo.3につくった「python-study」フォルダ内に、「if1.py」というファイル名で保存します。

num = 30

if num % 2 == 0:
    print(str(num) + "は偶数です。")
else:
    print(str(num) + "は奇数です。")

上書き保存したら、Vo.3で解説した方法でコマンドラインから実行します。

30は偶数です。

と表示されれば成功です。

if else 文

if文は

if 条件式:
	条件式の値がTrueの場合の処理
else:
	条件式の値がFalseの場合の処理

条件式は、最終的にブール値に評価されます。ブール値はTrueFalseの2つしかない値です。

if num % 2 == 0:

%は算術演算子のひとつで、割り算の余りを返してくれます。num変数には30が代入されていますので、「30 % 2」が計算されます。割り切れるので余りは0です。

==は左右が等しいかどうかを調べる比較演算子です。0と等しければ、Trueを、等しくなければFalseを返します。比較演算子はTrueFalseのブール値を返す演算子です。

条件式は、最終的に

if True:

と評価されます。なので

print(str(num) + "は偶数です。")

が出力されます。

else:
    print(str(num) + "は奇数です。")

スキップされ実行されません

numの値を29に変更して、保存して、実行すると「29は奇数です。」が出力されます。

num = 29

if num % 2 == 0:
    print(str(num) + "は偶数です。")
else:
    print(str(num) + "は奇数です。")
29は奇数です。

: のあとは字下げする

if num % 2 == 0:
    print(str(num) + "は偶数です。")
else:
    print(str(num) + "は奇数です。")

:の次の行は字下げ(インデント)をします。

if num % 2 == 0:
print(str(num) + "は偶数です。")

のように記述すると、「IndentationError: expected an indented block」というエラーが表示されます。Pythonでif文を書く時はインデントは強制です

インデントは半角スペース4つが慣例です。

入れ子のif文

入れ子のif文も書いてみましょう。
下記のコードを「python-study」フォルダ内に、「if2.py」というファイル名で保存します。

num = 28

if num % 2 == 0:
    if num >= 30:
        print(str(num) + "は偶数で30以上です。")
    else:
        print(str(num) + "は偶数で30より小さいです。")
else:
    print(str(num) + "は奇数です。")
28は偶数で30より小さいです。

この場合も、インデントの位置を揃える必要があります。

if elif文

条件式を複数設定することもできます。
下記のコードを「python-study」フォルダ内に、「if3.py」というファイル名で保存します。

num = 10

if num < 10:
    print(str(num) + "は10より小さい数字です。")
elif 10 <= num and num <50:
    print(str(num) + "は10以上、50より下の数字です。")
else:
    print(str(num) + "は50以上の数字です。")
10は10以上、50より下の数字です。

スポンサーリンク

and演算子

andは左右の式が両方ともTrueのときに、Trueを返す演算子です。

elif 10 <= num and num <50:

andの左辺の条件がTrueで、なおかつ右辺の条件式がTrueならば、andTrueを返します。片方か両方がFalseだと、andFalseを返します。

or演算子

num = 0

if num == 0 or num < 3:
    print(str(num) + "はゼロか、3より小さいです。")

orの左辺か右辺の条件がどちらかがTrueならば、Trueを返します。

not演算子

num = 5

if not num == 0:
    print(str(num) + "はゼロではありません。")
else:
    print(str(num) + "はゼロです。")
5はゼロではありません。

not演算子はブール値を反転させます。numには5が代入されます。num == 05 == 0なので、Falseに評価されますが、not演算子がついているので、Trueに評価されます。最終的にはif True:となりますので、条件が成立して「5はゼロではありません。」が出力されます。

スポンサーリンク

関連記事

プロフィール

DESIGNMAP
ディレクター
ON VISITINGを制作・運営。
マジックカテゴリーはhttp://tejina.designmap.info/に移しました。
お問い合わせ