next up previous
Next: リストについてもう少し Up: プログラミング入門 Previous: for ループ

   
if, elif, else

すいぶん遅くなってしまったが, ここでやっと if 文などについて説明しよう.

普通は if 文はもっと早く説明するだろう, と思って, カーニハン・リッチー [*] のやさしい入門の章をながめてみたら, なんと! while をやって for を やった後で if をやっているではないか! うむうむ. ちょっと安心ですね.

さて, if の基本的な使い方は,

if 条件:
    ブロック
で, 条件がみたされているときにブロック部分を実行し, そうでないときは ブロック部分を実行せずに, ブロック部分の後に進む.
# if の例
a = 2
if a > 0:
    print '正です'
if a < 0:
    print '負です'
print 'おしまい'
上の例では, 最初の if 文の条件は正しいので, そのブロックは実行され, ふたつ目の if 文の条件は正しくないので, そのブロックは実行せずに 最後の行へと進む. よって実行結果は次の通りになる:
正です
おしまい

if 文の次のパターンは, if と else の組合せで,

if 条件:
    ブロック1
else:
    ブロック2
である. 条件がみたされているときには, ブロック1 が実行され, そうでないときには, ブロック2 が実行されて, 次の行へと進む.
if a >= 0:
    print '0 か 正'
else:
    print '負'
print 'おしまい'
この実行結果は
負
おしまい
となる.

if 文のもうひとつのパターンは, if, elif, else を使うものである. ここで, elif は「else if」, つまり「そうでなくて, もしも」 という意味. elif は 2 回以上使ってもかまわない. 使い方は, たとえば,

if 条件1:
    ブロック1
elif 条件2:
    ブロック2
elif 条件3:
    ブロック3
else:
    ブロック4
のようである. ここでは, elif は 2 回使っているが, もちろん 1 回でも 3 回以上使っても構わない. 上の例では, ここで, ブロック1 から ブロック4 までのどれかひとつが一回だけ実行 されるという点に注意しよう. では, ひとつ例を:
#if, elif, else の例
a = 100
if a < 0:
    print '負'
elif a < 10:
    print '小さい'
elif a < 1000:
    print '普通かな?'
else:
    print '大きい'
print 'おしまい'
実行結果は
普通かな?
おしまい
となる.

if 文のブロックの中に if 文を入れ子で使っても, 構わない:

# if の入れ子の例
a = 20

if a >= 0:
    if a % 2 == 0:
        print '偶数'
    else:
        print '奇数'
else:
    print '負の数'



Toru Sasaki
2000-08-30