Pythonにおける制御命令
2015年11月17日:Python
Pythonにおける制御命令「if,for,while」といった基礎命令について学んでいきます。
if
if文では条件によって行う命令を指定することができます。文法は以下の通りです。
if文
if 条件1:
命令1
命令2
elif 条件2:
命令3
else:
命令4
if文の次の行にインデントを置くのが特徴です。インデントとはスペースやタブのことです。どちらか好きな方を選びましょう。タブだと空白が多く取り見やすいのでおすすめです。まず、条件1が満たされると、命令1と2が実行されます。そして、elifの条件を満たすと命令3が実行されます。else ifがelifと短縮されているのもPythonの特徴ですね。そして、どれも満たされない場合はelse以下にある命令4が実行されます。
上記の解説だけだとわかりにくいと思うので、試しにプログラムを作ってみます。
a=5 if a > 0: print("a>0") elif(a==0): print("a=0") else: print("a<0")
実行すると
a>0
となります。
for
続いて繰り返しの基本であるfor文です。構文は以下の通りです。
for文-その1
for 変数 in range(回数):
命令
回数分だけ命令が実行されます。この際、変数は0,1,2,3,…,回数-1と変化します。試しにプログラムを組みます。
for i in range(5): print(i)
出力結果は
0
1
2
3
4
となります。
for文は以下のようにして変数のレンジを調整する事もできます。
for文-その2
for 変数 in range(はじめ,終わり):
命令
また、1ずつ増やすのではなく2ずつ増やすのも以下の命令で変更可能です。
for文-その3
for 変数 in range(はじめ,終わり,増やす量):
命令
では、プログラムを組んで確認します。
for i in range(1,10,2): print(i)
出力は
1
3
5
7
9
となります。
while
ループの基本の2つ目である。while文です。構文は以下の通りです。
while
while 条件:
命令
条件を満たしていればループを実行します。以下に使用例をあげます。
i=0 while i<5: print(i) i+=1
出力は
0
1
2
3
4
となります。ここで、「i+=1」は「i=i+1」と同じ意味です。
break,continue
for文やwhile文の中ではbreakやcontinue命令が使えます。break命令の場合はループから抜け、continue命令の場合は、ループのはじめに戻ります。例えば以下のようにして使用します。
for i in range(1,10): if i%2==0: continue elif i>5: break print(i)
出力は
1
3
5
となります。偶数の場合ははじめにもどりprint命令は実行されません(%はあまりを計算する演算)。そして、5より大きくなるとbreakで抜けます。
著者:安井 真人(やすい まさと)
@yasui_masatoさんをフォロー