関連記事
バイオインフォ道場、くまぞうです。
プログラミングのフロー制御で最も単純なのが「if文」です。条件に「一致したかどうか」という判断に基づいて、実行するコマンドを変更するときに使います。
スポンサーリンク
Contents
if文による条件判断
if文の書き方
if文では複数の条件を判断することができます。上から順に判定されます。「elif」や「else」は必要なときに記述します。条件の中に条件を書く、入れ子構造をとることができます。尚、他のプログラミングと異なり、条件が有効な場合に実行する一連の処理をインデントを使ってブロックとしてまとめます。その際、「{}(中括弧)」や「end」などのキーワードは使用しません。条件記述の直後に、「:(コロン)」をつけるのも忘れないようにしましょう。
if – elif – else
if 条件 : ... elif 条件2 : ... else : ...
if文の真偽
Pythonの真偽における「偽」は、「False」です。複数の条件をまとめるには、論理演算子「and」「or」を使います。否定は「not」や「!」を使います。
プログラム
test_if.py
#! /usr/bin/python import sys aaa = int(sys.argv[1]) if aaa == 0 : sys.exit("exit") if aaa==1 : print "aaa==1 aaa=%d" % aaa if aaa>1 : if aaa>2 and aaa<3 : print "aaa>2 aaa=%d" % aaa elif aaa>3 and aaa<=5 : print "aaa>3 aaa=%d" % aaa else : print "aaa>5 aaa=%d" % aaa
スクリプト実行
$ python test_if.py 0 exit
$ python test_if.py 1 aaa==1 aaa=1
$ python test_if.py 4 aaa>3 aaa=4
プログラムについて
test_if.pyでは、ifの条件を数種類ためしてみました。「変数aaa」が0のとき、exitで即座に終了しました。1のとき、シンプルなif、1より大きいときは条件を入れ子構造にして更に条件を細かく分岐させています。入れ子内部で、if – elif – else を使いました。
今回はわざと複数の条件を入れ子にしましたが、プログラムが複雑になりすぎる場合は、他の制御構造を利用したり・例えば1以下の場合には先にプログラムを完結させるような仕組みで、プログラムがシンプルになるように工夫した方が良いと思います。
スポンサーリンク