Python - 処理を繰り返すfor文

Pythonで処理を繰り返す制御を行うためには、for文とwhile文の2つがあります。ここではfor文の使い方について書いていきます。

for文の書式

Pythonのfor文の書式は以下の通りです。

for 変数 in オブジェクト
  処理1
  処理2
  ・・・

オブジェクトには、ListやTuple、文字列などから要素を順に取り出して、繰り返し処理を行います。ListやTupleの場合は要素を先頭から順に取り出され、文字列の場合は最初から1文字ずつ取り出されます。

for num in [1,2,3,4,5]:
  print (num)

上記例の場合、最初の要素である「1」をnumに代入し、print()関数でnumの値を出力。
for文に戻って、2番目の要素「2」をnumに代入し、print()関数でnumと値を出力。
これを繰り返して、最後の要素である「5」まで処理をしてfor文を終了します。

実際の実行結果は以下の通りです。

% python for.py
1
2
3
4
5

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

for文では順番に並んだ数値を要素としたListを頻繁に使用します。数が少なければ、[1,2,3,4,5]などのListを作成すればよいですが、数が多い場合にはrange関数を利用すると便利です。

range関数の書式は以下の通りです。

range([開始,] 終了 [,ステップ])

1から50までの数字を、2ステップづつカウントアップさせる場合には以下のように記述します。

range(1, 50 ,2)

range関数とfor文を組み合わせて、1から20までの整数値を2ステップでprint()関数で表示するコードを書いてみると以下のようになります。

% vim for.py

for num in range(1,20,2):
    print(num)

実行結果は以下の通りです。

% python for.py
1
3
5
7
9
11
13
15
17
19

カウントダウンさせるには、range関数の開始の数値を終了の数値より大きくして、ステップにマイナスの値をいれることで実現できます。
以下の例は10から0までカウントダウンさせるコードです。

% vim for.py

for num in range(10,-1,-1):
    print(num)
% python for.py
10
9
8
7
6
5
4
3
2
1
0

整数値の総和を求めるプログラム

for文とrange関数を使って「開始と終了、ステップを入力し、その総和を求めるプログラム」を作ってみます。

% vim for.py

start = int(input("開始する数値を入力:"))
end = int(input("終了する数値を入力:"))
step = int(input("ステップを入力:"))

#総和の変数を0に初期化する
sum = 0

#キーボードから入力した変数をrange関数に代入
for num in range(start, end + 1, step):
    #sum変数にnum変数の値を加える
    sum += num

#結果の出力
print("-------------------")
print("開始:" + str(start))
print("終了:" + str(end))
print("ステップ:" + str(step))
print("の時の総和は " + str(sum))

実行結果は以下の通りです。

% python for.py
開始する数値を入力:1
終了する数値を入力:10
ステップを入力:2
-------------------
開始:1
終了:10
ステップ:2
の時の総和は 25

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: