今回は繰り返し処理 for文 について解説していきます. 繰り返し処理が扱えるようになると,人間では一生かかってもできないような処理を一瞬で終わらせることができます. for文は以下のように書きます.
for (ループ変数) in (イテラブルオブジェクト): # if文と同じようにダブルコロンを付けます.
(繰り返したい処理) # if文と同じようにインデントブロックを作ります.
(繰り返したい処理2行目)
|
(繰り返したい処理n行目) # 繰り返したい処理は複数行でもよい
「ループ変数」や「イテラブルオブジェクト」という聞いたことのない単語が出てきましたね.
これはそんなに難しいものではありません.
for i in "Hello World":
print(i)
以下のようになりますね.
my_list = [1,3,5,7,9]
for i in my_list:
print(i)
for文を使ってイテラブルオブジェクトの要素を取り出す方法は分かりました. では,100回 「Hello World」と出力してほしい場合はどうすればいいでしょうか? ループ変数自体は別にループの中で使う必要がないので要素を100個持つイテラブルオブジェクト 例えば "aaa … aaa"(100文字) などがあれば以下のようにできそうです.
# 実は a*100 で aaa…aaa(100文字)が簡単に作れます
word = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
counter = 0
for i in word:
counter = counter + 1
print(counter,"Hello World")
for i in range(10):
print(i)
以下のようになります.
for i in range(10,20):
print(i)
以下のようになります.
for i in range(0,20,2):
print(i)
以下のようになります.
for i in range(20,0,-2):
print(i)
以下のようになります.
# 問1
my_list = [0,1,2,3,4,5,6,7,8,9,10]
# 問2
for i in range(11):
print(my_list[i])
# 問3
for i in range(0,11,2):
print(my_list[i])
# 問4
for i in range(10,-1,-1): # 範囲に注意
print(my_list[i])
このように繰り返し処理を使って要素を取り出すことは頻繁にあります.
ループ変数にi,j,kなどが使われる理由も index の i から来ているのかもしれません.
数学でもi,j,k をよく使いますし自然な感じはしますよね.
今回はfor文による繰り返し処理について学びました. 次回は繰り返しをより細かく制御する break文 continue文について解説します.