LESSON 05

リストを使おう

たくさんの値を一つにまとめて扱います。

40分
必須
必須・これまでの復習

これまでの内容から、3問を復習しよう

前回までの内容から3問に取り組みます。候補が4問以上ある回では、開くたびにランダムに選ばれます。復習用ファイルは一つだけ使います。

今回のファイル名lesson05_review.py

レッスン番号と使う場面が分かる名前にして、あとで探しやすくします。

  1. VS Code上部の「ファイル」をクリック
  2. 「新しいテキスト ファイル」をクリック
  3. Ctrl+S(Macは⌘+S)を押す
  4. lesson05_review.pyと入力して「保存」を押す

ここを確認:画面上のタブ、または左側のファイル一覧にlesson05_review.pyと表示されたら準備完了です。

復習の進め方
  1. lesson05_review.pyを作って保存
  2. 問題のコードを入力・予想
  3. 保存・実行して答え合わせ
復習 1・第1回

print

print("復習")
print(8 + 2)

2行目は?

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「2行目は?」の答えとして何を確かめるのか決めます。
  2. 次にコードを上から読みます。変数へ入る値、繰返し、条件分岐が出てきたら、その行で何が変わるかを一つずつ紙に書きます。
  3. 最後に表示される値や残った値を選択肢と比べます。この問題では「計算結果の10です。」という流れに注目します。
ヒントを見る

コードを自分で考えて作る問題ではありません。上にある見本コードを、復習用ファイルへ一文字ずつそのまま入力します。入力したら保存し、VS Code右上の▶を押します。画面下のターミナルに出た結果と選択肢を比べてください。記号や字下げが分からないときは、見本と同じ位置・同じ数にそろえれば大丈夫です。

復習 2・第2回

変数

count = 3
count = count + 1
print(count)

結果は?

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「結果は?」の答えとして何を確かめるのか決めます。
  2. 次にコードを上から読みます。変数へ入る値、繰返し、条件分岐が出てきたら、その行で何が変わるかを一つずつ紙に書きます。
  3. 最後に表示される値や残った値を選択肢と比べます。この問題では「3に1を足して4です。」という流れに注目します。
ヒントを見る

コードを自分で考えて作る問題ではありません。上にある見本コードを、復習用ファイルへ一文字ずつそのまま入力します。入力したら保存し、VS Code右上の▶を押します。画面下のターミナルに出た結果と選択肢を比べてください。記号や字下げが分からないときは、見本と同じ位置・同じ数にそろえれば大丈夫です。

復習 3・第3回

条件分岐

n = 7
if n > 5:
    print("大")

表示は?

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「表示は?」の答えとして何を確かめるのか決めます。
  2. 次にコードを上から読みます。変数へ入る値、繰返し、条件分岐が出てきたら、その行で何が変わるかを一つずつ紙に書きます。
  3. 最後に表示される値や残った値を選択肢と比べます。この問題では「7は5より大きいからです。」という流れに注目します。
ヒントを見る

コードを自分で考えて作る問題ではありません。上にある見本コードを、復習用ファイルへ一文字ずつそのまま入力します。入力したら保存し、VS Code右上の▶を押します。画面下のターミナルに出た結果と選択肢を比べてください。記号や字下げが分からないときは、見本と同じ位置・同じ数にそろえれば大丈夫です。

復習を終えたことを確認

実際に自分のパソコンで行ってから、チェックを入れてください。

◎
今日のゴール

リストの値を取り出し、繰返しで処理できる。

  • ✓リストが便利な理由を説明できる
  • ✓添字0を理解できる
  • ✓合計や最大値を求められる
STEP 1

なぜリストが必要なの?

今からやること
  1. リストが便利な理由を図で理解する
  2. 専用ファイルへリストを入力する
  3. 添字と値を対応させて予想する
  4. forで合計を求める
  5. 必須問題で取出しと平均を試す

5人の点数を別々の変数に入れると、人数が増えるたびに変数名も増えます。リストなら、関係する値を一つのまとまりとして保存できます。

scores→70856090
scores = [70, 85, 60, 90]

メリット:点数が増えても同じ名前scoresでまとめて扱い、forで順番に取り出せます。

STEP 2

リストを作って実行しよう

今回のファイル名lesson05_step02.py

レッスン番号と使う場面が分かる名前にして、あとで探しやすくします。

  1. VS Code上部の「ファイル」をクリック
  2. 「新しいテキスト ファイル」をクリック
  3. Ctrl+S(Macは⌘+S)を押す
  4. lesson05_step02.pyと入力して「保存」を押す

ここを確認:画面上のタブ、または左側のファイル一覧にlesson05_step02.pyと表示されたら準備完了です。

この順番で実践します
  1. lesson05_step02.pyへ見本コードを一文字ずつ入力する
  2. まだ実行せず、表示結果を予想する
  3. Ctrl+S(Macは⌘+S)で保存する
  4. VS Code右上の「▶」を押して実行する
  5. 画面下の「ターミナル」に出た結果と、この教材の答えを比べる
scores = [70, 85, 60, 90]

print(scores[0])
print(scores[2])

リストの場所を表す番号を「添字」と呼びます。Pythonの添字は0から始まります。

添字070
添字185
添字260
添字390

scores[2]はどの値?

先に自分のパソコンで実行しましょう。画面に出た結果を見てから、下のボタンを押します。

STEP 3

リストを繰り返して合計しよう

scores = [70, 85, 60, 90]
total = 0

for score in scores:
    total = total + score

print(total)

scoreには70、85、60、90が順番に入ります。totalは0→70→155→215→305と変化します。

最後のtotalは?

STEP 4

ここまで分かったか確認しよう

今回のファイル名lesson05_step04.py

第5回の必須問題で使うファイルです。問題ごとに中身を書き換えて使います。

  1. VS Code上部の「ファイル」をクリック
  2. 「新しいテキスト ファイル」をクリック
  3. Ctrl+S(Macは⌘+S)を押す
  4. lesson05_step04.pyと入力して「保存」を押す

ここを確認:画面上のタブ、または左側のファイル一覧にlesson05_step04.pyと表示されたら準備完了です。

必須問題の進め方
  1. lesson05_step04.pyを作る
  2. 入力・保存・実行して結果を確認する
  3. 同じファイルを書き換えて次の問題へ進む
必須 1

値を取り出す

colorsから「青」を表示します。

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. Pythonは最初を0番として数えるため、2番目の青は添字1です。

  3. 次にコードを上から一行ずつ読みます。値が変わるたびに紙へ書き、最後の結果が問題の条件に合うか確かめます。
ヒントを見る

print(colors[1])と書きます。

答えを見る
colors = ["赤", "青", "緑"]
print(colors[1])

ターミナルに「青」と表示されたら成功です。

必須 2

平均を求める

scoresの合計を値の個数4で割って平均を表示します。

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. すべての点数を合計してから、データの個数4で割ります。

  3. 次にコードを上から一行ずつ読みます。値が変わるたびに紙へ書き、最後の結果が問題の条件に合うか確かめます。
ヒントを見る

totalを0から始め、forで足した後にtotal / 4を表示します。

答えを見る
scores = [70, 85, 60, 90]
total = 0
for score in scores:
    total = total + score
print(total / 4)

ターミナルに76.25と表示されたら成功です。

必須 3

80点以上を表示

scoresから80点以上の値だけを表示します。

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. リストを一つずつ見て、80以上の点数だけをprintします。

  3. 次にコードを上から一行ずつ読みます。値が変わるたびに紙へ書き、最後の結果が問題の条件に合うか確かめます。
ヒントを見る

forの中にif score >= 80:を書きます。

答えを見る
scores = [70, 85, 60, 90]
for score in scores:
    if score >= 80:
        print(score)

85と90が1行ずつ表示されたら成功です。

実践したことを確認

実際に自分のパソコンで行ってから、チェックを入れてください。

時間が余ったら

できるだけ解いてみよう

全10問

全部終わらなくても大丈夫です。上から順番に挑戦しましょう。

EXTRA実践・読解・発展
  1. 3つの好きな食べ物をリストにする
    ヒントを見る

    文字をダブルクォーテーションで囲み、[ ]に並べます。

    答えを見る

    答えの例です。

    foods = ["カレー", "すし", "ラーメン"]
  2. リストの最初と最後を表示する
    ヒントを見る

    最初は[0]、3個なら最後は[2]です。

    答えを見る

    答えの例です。

    foods = ["カレー", "すし", "ラーメン"]
    print(foods[0])
    print(foods[2])
  3. 点数リストをforですべて表示する
    ヒントを見る

    for score in scores:を使います。

    答えを見る

    答えの例です。

    scores = [70, 80, 90]
    for score in scores:
        print(score)
  4. 5つの数の合計を求める
    ヒントを見る

    totalを0から始めて順番に足します。

    答えを見る

    答えの例です。

    numbers = [2, 4, 6, 8, 10]
    total = 0
    for n in numbers:
        total = total + n
    print(total)
  5. 点数の平均を求める
    ヒントを見る

    合計をlen(scores)で割ります。

    答えを見る

    答えの例です。

    scores = [70, 80, 90]
    print(sum(scores) / len(scores))
  6. 90以上の点数だけ表示する
    ヒントを見る

    forの中でifを使います。

    答えを見る

    答えの例です。

    scores = [70, 95, 60, 100]
    for score in scores:
        if score >= 90:
            print(score)
  7. リストの2番目を書き換える
    ヒントを見る

    2番目の添字は1です。

    答えを見る

    答えの例です。

    colors = ["赤", "青", "緑"]
    colors[1] = "白"
    print(colors)
  8. appendで値を追加する
    ヒントを見る

    リスト名.append(値)と書きます。

    答えを見る

    答えの例です。

    numbers = [1, 2]
    numbers.append(3)
    print(numbers)
  9. 最も大きい値を求める
    ヒントを見る

    まずmax関数で確かめます。

    答えを見る

    答えの例です。

    scores = [70, 85, 60, 90]
    print(max(scores))
  10. 添字と値の表を作る
    ヒントを見る

    0から始まる番号と値を横に並べます。

    答えを見る

    答えの例です。

    scores=[70,85,60]なら、0→70、1→85、2→60です。