制御ステートメント
決まった命令を決まった回数だけ行う際にfor文を使います。使い方をみていきましょう。for文
書式>for 変数A in リストB:
「リストBの各要素について順番に、変数Aに代入して、それぞれで処理しなさい。」という意味です。書いてみて変な日本語だと思います。見てみると大したないんですが・・・。# coding: shift-jis
# 注:このコードはコピー&ペーストしても動きません。手で入力してください。
for a in [1,2,3,4,5] :
print a
raw_input()
出力画面:
1
2
3
4
5
同じことになりますが、リストの要素について順番に変数aに代入し、printを実行しています。# coding: shift-jis
# 注:このコードはコピー&ペーストしても動きません。手で入力してください。
for a in [5,4,3,2,1] :
print a
raw_input()
出力画面:
5
4
3
2
1
上のコードは順に減らす場合の例です。このようにリストを作成すれば、実施したい順番に実行することができます。ではfor文の中にfor文を書いてみます。例で九九を計算してみましょう。
# coding: shift-jis
# 注:このコードはコピー&ペーストしても動きません。手で入力してください。
for a in [1,2,3,4,5,6,7,8,9] :
for b in [1,2,3,4,5,6,7,8,9] :
# a * b(1, 2, 3, 4, 5, 6, 7, 8, 9)をprintします。
# printの後に","がついているので、printが実行した後改行されません。
print a*b,
# 9つ数字を並べた後、改行するために何も表示しないprintをします。
print
raw_input()
出力画面:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
関数range()を使う
今まで1から9までのリフトを作ってきましたが、いくつまで自分の手で入力できますか。リストを作ってくれる組み込み関数range()の使い方を説明します。
range( [開始の数値,] 終了の数値 [, ステップ] )
[ ]で囲ったところは省略可能です。
『開始の数値』は指定しないと"0"となります。『終了の数値』は指定しなければなりませんが、終了したい数値の次の数値にします。『ステップ』は数値毎の間隔を指定します。指定しない場合は"1"になります。やっぱり例でみた方が早いですよね。