for文とは
for文は、特定の回数だけ処理を繰り返したいときに使用する書き方です。
構文
これがfor文の書き方です。
for 変数 in イテラブルオブジェクト:
処理
イテラブルオブジェクトって何??
イテラブルオブジェクト・・・一つずつ取り出すことのできるオブジェクトのことです。リストやタプル、辞書などのことを指します。range()などの組み込み関数もイテラブルオブジェクトになります。
オブジェクト・・・簡単に言えば、データのことです。文字列オブジェクトやリストオブジェクトなど全てのデータをオブジェクトとして扱います。
"あ"・・・文字列オブジェクト
1・・・数値オブジェクト
などなど
range()を使用したfor文
for i in range(5):
print(i)
出力結果
0
1
2
3
4
range関数は、指定された範囲の数値を順番に生成する関数です。
上記のrange(5)は0〜4を生成します。
range(5,10)とすると5~9を生成します。
リストを使用したfor文
names = ["山田","田中","鈴木","中村","佐藤"]
for name in names:
print(name + "さん")
出力結果
山田さん
田中さん
鈴木さん
中村さん
佐藤さん
リストとfor文を組み合わせれば、簡単に要素一つずつに対して処理を行うことができます。
辞書を使ったfor文
three_subject_scores = {"国語": 84.0, "数学": 66.0, "英語": 72.0}
total_score = 0
for subject, score in three_subject_scores.items():
print(f'{subject}は{score}点です')
total_score += score
average_score = total_score / 3
print(f'合計点:{total_score}')
print(f'平均点:{average_score}')
出力結果
国語は84.0点です
数学は66.0点です
英語は72.0点です
合計点:222.0
平均点:74.0
辞書をイテラブルオブジェクトとして使用する際は、以下の組み込みメソッドを使用します。
keys()・・・辞書のキーを取得
values()・・辞書の値を取得
items()・・・辞書のキーと値どちらも取得
今回はitems()を使用しました。
subjectにキーとなる教科名、scoreに値の点数を入れてそれぞれの点数と、合計点、平均点を求め出力しました。
最後に
for文は、どの言語でも基礎構文の一つとなっていますので必須で覚えましょう。
if文などと組み合わせると出来る処理が広がるのでぜひ挑戦してみてください。
ここまで読んでくださりありがとうございました。