LEVEL 3 ・ 繰り返し / Lesson 06
同じ作業を繰り返してもらう
3人でも100人でも、お願いは1回。for を使って、同じ作業を順番にやってもらいます。
このレッスンが終わったら
「for は、リストの中身を1つずつ取り出して、同じ作業を繰り返してもらう言葉」と言える。
できることを見る
部署のメンバー全員に、同じあいさつ文を送ることを考えてみましょう。3人なら手で書けますが、100人だったらどうでしょう。
Pythonでは、お願いを1回書くだけで、全員分を順番にやってくれます。
for name in ["田中", "佐藤", "鈴木"]:
print(name + "さん、お疲れさまです")人数が100人に増えても、書くコードはほとんど変わりません。
動かしてみる
▶ 実行を押すと、ここに結果が出ます
同じ1行の print が、3回実行されましたね。名前だけが、田中 → 佐藤 → 鈴木と入れ替わっています。
1行ずつ読む
for name in ["田中", "佐藤", "鈴木"]:田中・佐藤・鈴木の中から、1人ずつ取り出して、「name」という名前で受け取る print(name + "さん、お疲れさまです")(1人ずつ)名前のあとに「さん、お疲れさまです」を付けて表示する日本語にすると
- 1回目name = 田中
- 2回目name = 佐藤
- 3回目name = 鈴木
- おしまい取り出すものがなくなった
name は、取り出した1人分を入れておく名前です。前に学んだ「名前を付けて覚える」の仲間で、1回ごとに中身が入れ替わります。
1か所だけ変える
① 人を増やす。 リストに "高橋" を足して、実行してみましょう。コードの書き方は変えていないのに、4人分表示されます。
▶ 実行を押すと、ここに結果が出ます
② 足し算を繰り返す。 繰り返しは、合計を出すときにも使えます。
▶ 実行を押すと、ここに結果が出ます
total = 0合計を入れる箱「total」を、まず0にしておくfor item in sales:salesの中身を1件ずつ取り出して、「item」という名前で受け取る total = total + item今のtotalにitemを足して、それを新しいtotalにするprint(total)最後にtotalを表示するtotal は、0 → 100 → 300 → 600 と育っていきます。ExcelでSUMの途中経過を、1行ずつ足していくイメージです。
③ 字下げを1か所ずらす。 最後の print(total) を、字下げしたらどうなるでしょう。繰り返しの中に入るので、毎回表示されます。
▶ 実行を押すと、ここに結果が出ます
字下げがあるかないかで、「繰り返しの中」か「繰り返しが終わったあと」かが決まります。
自分で書く
お題① "りんご" "みかん" "ぶどう" を、1つずつ表示してください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
for fruit in fruits: と書いて、次の行に字下げ(スペース4つ)して print(fruit) と書きます。
答えの例を見る
fruits = ["りんご", "みかん", "ぶどう"] for fruit in fruits: print(fruit)
お題② 4か月分の売上の合計を、繰り返しを使って表示してください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
さきほどの合計のコードとそっくりです。for item in sales: の中で、total = total + item とします。
答えの例を見る
sales = [120, 340, 560, 780] total = 0 for item in sales: total = total + item print(total)