pythonの制御構文forとrange関数についての解説

python

そもそもfor文てどの様なもので,どんな時に使うのかをを知りたい方向けに本記事ではサンプルプログラムを使ってfor文とrange関数を組み合わせたサンプルプログラムを使って丁寧に解説していきます.

スポンサーリンク

for文て何

 for文は,決められた回数を繰り返し処理する事ができます.
プログラムを作成していると同じ処理を繰り返し実行することがあります.例えば1から100までを表示させたり.同じプログラムを100個書くなんて事は非効率的です.for文を使えば,決められた回数を繰り返し処理する事ができます.

while文とfor文の違い

while文は,条件を満たしている間繰り返される.

for文は,決まった回数を繰り返します.

while文では、条件によってループを無限に繰り返えす恐れがあります.for文では決まった回数を繰り返すためプログラムが止まらなくなる事はありません.

for文について書式をみていきましょう.

for文書式

for 変数 in オブジェクト:
繰り返し処理文1
繰り返し処理文2
変数の後にinとfor文の最後に:を忘れずに付けましょう.

[IN]for文を使ってdataに格納されたラベルを順次プリントします.

data=["python","anaconda","cobra","habu","orochi"]
for n in data:
    print(n)

[OUT]

python
anaconda
cobra
habu
orochi

dataの中に入っている要素を順次繰り返し表示できました.

for文中のbreakについて

for文の途中である条件になった時に処理を止めたい場合はbreakを使います.

for文中のbreak書式

for 変数 in オブジェクト:
  繰り返し処理文2
  if (条件式):
    break
  繰り返し処理文2

[IN]先程のforループ文のサンプルからcobraが出現したら終了するようにbreakを使って処理します.

data=["python","anaconda","cobra","habu","orochi"]
for n in data:
     if n=="cobra": #nがcobraになっら中断する
        break
     print(n)

[OUT]

python
anaconda
cobra

forループでcobraが出現したので以降の表示処理は中断しました.

for文中のcontinueについて

for文の途中である条件になった時に特定の処理を中止させる場にcontinueを使います.

for文中のcontinue書式

for 変数 in オブジェクト:
  繰り返し処理文1
  if (条件式):
    continue
  繰り返し処理文2

[IN]サンプルプログラムからcobraの表示だけを中止するようにcontinue使って処理します.

data=["python","anaconda","cobra","habu","orochi"]
for n in data:
     if n=="cobra":
        continue
     print(n)

[OUT]

python
anaconda
habu
orochi

狙い通りcoburaだけ表示を中止できました.

range関数について

range関数は引数に指定した開始値から終了値までの値を要素として持っているオブジェクトです.

range関数の書式

range(終了値)      :開始値は0,増分値は1
range(開始値,終了値)  :増分値は1
range(開始値,終了値,増分値)

range関数は,開始値から増分値だけ足されていき,終了値に指定した値を超えない範囲までを要素として持っています.
range関数は直接print文でオブジェクトの要素を表示させる事はできませんが,listのオブジェクトとすることでprint文で表示できます.

[IN]range関数がどのような要素(数値)を持っている確かめてみましょう.

print("直接プリント  " ,range(4)             )
print("range(4)     =" ,list( range(4)      ))
print("range(2,6)   =" ,list( range(2,6)    ))
print("range(2,10,2)=" ,list( range(2,10,2) ))

[OUT]

直接プリント   range(0, 4)
range(4)     = [0, 1, 2, 3]
range(2,6)   = [2, 3, 4, 5]
range(2,10,2)= [2, 4, 6, 8]

for文にrange関数を組み合わせる

for文にrange関数を組合わせる事で,rangeオブジェクトの要素を順に取得して繰り返す事ができます.この組み合わせでコードが書かれている事が多いので理解しておきましょう.

[IN]

for n in range(0,5):
    print(n)

[OUT]

0
1
2
3
4

print(n)を5回繰り返すコードが僅か2行で書けました.

トップページへ戻る

 スポンサーリンク

コメント

タイトルとURLをコピーしました