普通は 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 回以上使っても構わない. 上の例では,
#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 '負の数'