Python | 1 日 90 分 × 7 日アプリ学習:リストに追加するアプリ(初級編)

Web APP Python
スポンサーリンク

3日目のゴール

3日目のテーマは
「list と append を“使いこなす”段階に進むこと」です。

1日目は「list に追加できるようになる」
2日目は「追加するときのルール(バリデーション)」

そして3日目は、
「追加したデータをどう扱うか」
ここを深めていきます。

今日のキーワードは次の3つです。

list を“集める道具”として使う
append を“条件つき”で使う
追加したデータを“加工して使う”

この3つを押さえると、
アプリとしての完成度が一気に上がります。


list を「集める道具」として使う

データを集める基本パターン

Python でデータを集めるときの基本形はこれです。

result = []

for x in 何かの集まり:
    条件が合えば append
Python

この形は、
現実のアプリでも頻繁に登場します。

例えば、
「偶数だけ集めたい」
「3文字以上の名前だけ集めたい」
「点数が80点以上の人だけ集めたい」

こういう“フィルタ”を作るときに使います。

例:偶数だけ集める

even_numbers = []

for n in range(1, 11):
    if n % 2 == 0:
        even_numbers.append(n)

print(even_numbers)
Python

出力はこうなります。

[2, 4, 6, 8, 10]

ここでの深掘りポイントは、
append は「条件を通過したものだけ入れる」ことができる
ということです。


append を「条件つき」で使う

条件つき append の考え方

条件つき append の流れはこうです。

入力を受け取る
条件をチェックする
OK なら append
NG ならスキップ

この流れは、
アプリの「入力フォーム」と同じです。

例:3文字以上の名前だけ保存する

names = []

print("名前を入力してください。終了は『終了』。")

while True:
    name = input("名前: ")

    if name == "終了":
        break

    if len(name) < 3:
        print("3文字未満の名前は保存しません")
        continue

    names.append(name)
    print("保存しました:", names)
Python

ここでの深掘りポイントは、
append は“なんでも入れる”のではなく
“入れてよいものだけ入れる”という使い方ができる

ということです。


list に追加したデータを「加工して使う」

数値を集めて平均を出す

list にデータを入れたら、
次は「そのデータを使って何かをする」段階に進みます。

例えば、点数を集めて平均を出すアプリ。

scores = []

print("点数を入力してください。終了は『-1』。")

while True:
    value = input("点数: ")

    if value == "-1":
        break

    try:
        score = int(value)
    except ValueError:
        print("数字を入力してください")
        continue

    scores.append(score)
    print("現在の点数リスト:", scores)

if len(scores) > 0:
    average = sum(scores) / len(scores)
    print("平均点:", average)
else:
    print("点数が入力されませんでした")
Python

ここでの深掘りポイントは2つあります。

ひとつめ。
list に入れる前に型を変換する(文字列 → 数値)
これができると、計算が可能になります。

ふたつめ。
list は「集めたデータを使って計算する」ための土台になる
ということです。


list を「変換しながら作る」テクニック

文字列を分解して list にする

例えば、ユーザーがこう入力したとします。

りんご,牛乳,卵

これを list に変換する方法は2つあります。

Python の split を使う方法
自分で append しながら作る方法

ここでは、append を使った方法を見てみます。

text = "りんご,牛乳,卵"
items = []

current = ""

for ch in text:
    if ch == ",":
        items.append(current)
        current = ""
    else:
        current += ch

if current != "":
    items.append(current)

print(items)
Python

出力はこうなります。

['りんご', '牛乳', '卵']

ここでの深掘りポイントは、
append は「変換しながらデータをためる」ことにも使える
ということです。


3日目のミニアプリ:点数を集めて平均を出すアプリ

今日の学びを全部入れたコード

scores = []

print("点数を入力してください。終了は『-1』。")

while True:
    value = input("点数: ")

    if value == "-1":
        break

    if value.strip() == "":
        print("空の入力は無効です")
        continue

    try:
        score = int(value)
    except ValueError:
        print("数字を入力してください")
        continue

    if score < 0 or score > 100:
        print("0〜100の範囲で入力してください")
        continue

    scores.append(score)
    print("現在の点数リスト:", scores)

if len(scores) == 0:
    print("点数が1つも入力されませんでした")
else:
    average = sum(scores) / len(scores)
    print("最終的な点数リスト:", scores)
    print("平均点:", average)
Python

このアプリには、

条件つき append
型変換
list を使った計算

という、3日目で身につけたい要素がすべて入っています。


3日目のまとめ

今日つかんでほしい感覚はこれです。

append は「ただ追加する」だけではなく
“条件を通過したものだけ集める”
“変換したものを集める”
“集めたデータを使って計算する”

こういう“アプリらしい使い方”ができる。

この感覚が身につくと、
4日目以降の「削除」「検索」「編集」などの操作が
ぐっと理解しやすくなります。

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