学校よりやさしい!高校生のためのプログラミング【配列】

学校よりやさしい!高校生のためのプログラミング【配列】 プログラミング

こんにちは。高校情報の未来予想図です。

「情報Ⅰ」の共通テストや定期テスト対策に役立つ内容を丁寧に解説しています。

配列とは何かをわかりやすく説明し、具体例や演習問題を通して基礎をしっかり学べます。

難しい概念もシンプルなコード例で学びやすく、初心者でも取り組める工夫が満載!

さらに、発展問題に挑戦することで理解を深めることができます。

さあ、プログラミングの第一歩として、勉強を始めましょう!

配列とは?

みなさん、プログラミングの「配列」という言葉を聞いたことがありますか?

配列は、一度に複数のデータをまとめて管理するための便利な方法です。

例えば、テストの点数や買い物リストなど、関連するデータを一つの箱にまとめて扱うことができます。

今回は、「配列」について解説していきます!

初めての人でも安心して学べるよう、わかりやすく説明します。

配列の基本

配列は、Pythonではリスト(List)と呼ばれます。

リストを使うと、複数のデータを1つの変数に格納できます。

リストの作り方

以下のように、角括弧 [] を使ってデータをカンマ , で区切ります。

scores = [90, 85, 70, 78, 92]
print(scores)

出力:

[90, 85, 70, 78, 92]

これで、scoresというリストに複数の点数を格納できました!

配列(リスト)の要素にアクセスする

リストの中に格納された個々のデータ(要素)には、インデックス番号を使ってアクセスします。

インデックス番号は0から始まるので注意してください。

例:リストの要素を取得する

scores = [90, 85, 70, 78, 92]
print(scores[0]) # 最初の要素を取得
print(scores[3]) # 4番目の要素を取得

出力:

90
78

リストの操作

リストは非常に柔軟で、追加や削除、並べ替えなどの操作ができます。

要素の追加

append()メソッドを使って、リストに新しい要素を追加できます。

scores = [90, 85, 70]
scores.append(95) # 95を追加
print(scores)

出力:

[90, 85, 70, 95]

要素の削除

remove()メソッドで指定した要素を削除できます。

scores = [90, 85, 70]
scores.remove(85) # 85を削除
print(scores)

出力:

[90, 70]

実際にやってみよう

例題:平均点を計算するプログラム

リストに格納された点数の平均を計算するプログラムを作ってみましょう。

# 点数のリスト(配列)
scores = [80, 90, 70, 85, 95]

# 合計を計算するための変数
total = 0

# For文を使ってリストの要素を順番に足し合わせる
for score in scores:
total = total + score

# 平均点を計算
average = total / len(scores)

# 結果を表示
print("平均点:", average)

プログラムの詳細解説

リストの作成 リストscoresには、5つの点数が格納されています。このリストの要素を使って、合計点と平均点を計算します。

scores = [80, 90, 70, 85, 95]

合計の計算 totalという変数を用意し、最初に0を代入します。

その後、for文を使ってリスト内のすべての点数を足し合わせます。

total = 0
for score in scores:
  total = total + score

このループでは、リストscoresから1つずつ点数を取り出し、変数totalに加算していきます。計算結果の合計は420になります。

平均点の計算 合計点をリストの要素数(点数の個数)で割って平均点を求めます。

average = total / len(scores)

この場合、len(scores)はリストscoresの要素数を返します(この場合は5)。よって、420 / 5 = 84.0 となります。

結果の表示 最後に、print文を使って平均点を出力します。

print("平均点:", average)

この結果、平均点は84.0と表示されます。

出力:

平均点: 84.0

演習1:最大点と最小点を表示するプログラム

それでは、リストを使って練習してみましょう!

リストの中で、最も高い点数と最も低い点数を表示するプログラムを書いてみてください。

答え
# 点数のリスト(配列)
scores = [80, 90, 70, 85, 95]

# 最も高い点数と最も低い点数を記録する変数
highest = scores[0] # 初期値としてリストの最初の要素を設定
lowest = scores[0] # 初期値としてリストの最初の要素を設定

# For文を使ってリストをループ
for score in scores:
# 最も高い点数を更新
if score > highest:
highest = score
# 最も低い点数を更新
if score < lowest:
lowest = score

# 結果を表示
print("最も高い点数:", highest)
print("最も低い点数:", lowest)

プログラムの解説

1. リストの準備

    最初に、点数のリストscoresを用意します。

    このリストには複数の点数が含まれており、それぞれを比較して最も高い点数と最も低い点数を計算します。

    scores = [80, 90, 70, 85, 95]

    2. 初期値の設定

    比較の基準となるための変数highest(最も高い点数)とlowest(最も低い点数)を用意します。

    これらの初期値には、リストscoresの最初の要素を設定します。

    highest = scores[0]  # 初期値としてリストの最初の点数を設定
    lowest = scores[0] # 初期値としてリストの最初の点数を設定

    3. For文でリストをループ

    リストscoresの各要素を順番にscoreという変数に代入し、以下の処理を行います。

    for score in scores:
    ...

    4. If文で最も高い点数と低い点数を更新

    • 最も高い点数を更新
      現在のscorehighestより大きい場合、highestscoreで更新します。
    if score > highest:
    highest = score
    • 最も低い点数を更新
      現在のscorelowestより小さい場合、lowestscoreで更新します。
    if score < lowest:
    lowest = score

    5. 結果の表示

    計算されたhighestlowestの値をprint文で表示します。

    print("最も高い点数:", highest)
    print("最も低い点数:", lowest)

    出力:

    最も高い点数: 95
    最も低い点数: 70

    演習2:リスト内のすべての点数を1点ずつ増やす

    リスト内の各点数を1点ずつ増やし、新しいリストを表示するプログラムを書いてみてください。

    答え
    # 元の点数のリスト
    scores = [80, 90, 70, 85, 95]

    # For文を使って各点数を1点ずつ増やす
    for i in range(len(scores)): # インデックス番号を取得
    scores[i] = scores[i] + 1 # 各点数に1を足して更新

    # 結果を表示
    print("新しい点数:", scores)

    プログラムの解説

    for i in range(len(scores)):

    range(len(scores)) はリストのインデックス(0 からリストの長さ-1 までの値)を生成します。

    このインデックスを i に順番に代入します。

    scores[i] = scores[i] + 1:

    インデックス i を使ってリスト内の各要素を1ずつ増加させ、その結果を再びリストに上書きします。

    元のリスト scores が直接変更され、各要素が1増えた新しいリストになります。

    出力:

    新しい点数: [81, 91, 71, 86, 96]

    発展問題:偶数だけを表示するプログラム

    リスト内の偶数だけを抽出して表示するプログラムを書いてみましょう。

    答え
    # 元の点数のリスト
    scores = [80, 90, 70, 85, 95]

    # 偶数を格納するリスト
    even_scores = []

    # For文を使ってリスト内の偶数を抽出
    for score in scores:
    if score % 2 == 0: # 偶数かどうかを判定
    even_scores.append(score) # 偶数を新しいリストに追加

    # 結果を表示
    print("偶数の点数:", even_scores)
    プログラムの解説
    1. even_scores = []: 空のリスト even_scores を用意して、抽出した偶数をここに追加します。
    2. for score in scores: scores の各要素を順番に変数 score に代入してループします。
    3. if score % 2 == 0: ここで、% 演算子を使って値が 2 で割り切れるかを判定します。割り切れる場合(剰余が 0)のみ、score は偶数です。
    4. even_scores.append(score): 偶数である場合、even_scores にその値を追加します。
    5. print("偶数の点数:", even_scores): 最後に抽出された偶数を表示します。
    実行結果

    上記のプログラムを実行すると、以下の結果が得られます:

    偶数の点数: [80, 90, 70]

    まとめ

    リストを使えば、複数のデータを一括で管理したり、操作したりすることが簡単になります。

    今回学んだリストの作成方法や操作を覚えることで、もっと効率的にプログラムを書けるようになりますよ!

    コメント

    タイトルとURLをコピーしました