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

Web APP Python
スポンサーリンク

2日目のゴール

2日目のテーマは
「list と append を“アプリとしてちゃんと使える形”にすること」です。

1日目は
list とは何か
append の基本的な動き
を、感覚でつかみました。

2日目ではそこから一歩進んで、

入力チェック(バリデーション)
見やすい表示
「アプリの流れ」としての list+append

を身につけます。


list を「アプリのデータ置き場」として意識する

ただの箱ではなく「アプリの記憶」

1日目では

shopping_list = []
Python

を「空の箱」として見ました。

2日目では、これを
「アプリの記憶」
として意識してほしいです。

アプリの世界では、

ユーザーが入力する
アプリがそれを覚える
あとでまとめて見せる

という流れが基本です。

この「覚える場所」が list です。
だから、list は小さな“データベース”だと思ってください。


append を「保存する動き」として理解する

入力 → 保存 → 確認、という流れ

1日目のシンプル版を、もう一度見ます。

shopping_list = []

while True:
    item = input("追加するもの: ")

    if item == "終了":
        break

    shopping_list.append(item)
    print("現在のリスト:", shopping_list)
Python

ここで起きていることを言葉にすると、

ユーザーが入力する(input)
アプリがそれを保存する(append)
保存された状態を見せる(print)

という流れです。

ここで大事なのは、
append は「保存」という意味で使える
という感覚です。

「list に追加する」=「アプリに記録される」
ここがつながると、一気に“アプリっぽく”なります。


入力チェック(バリデーション)を入れてみる

空文字をそのまま保存したくない

現実に使うことを考えると、
こんな入力は避けたいですよね。

何も入力せず Enter
スペースだけ入力して Enter

これらをそのまま保存すると、
リストがぐちゃぐちゃになります。

そこで「空の入力は保存しない」というルールを入れます。

shopping_list = []

print("買い物リストアプリ")
print("買いたいものを入力してください。終了は『終了』。")

while True:
    item = input("追加するもの: ")

    if item == "終了":
        break

    if item.strip() == "":
        print("空の入力は追加できません")
        continue

    shopping_list.append(item)
    print("追加しました:", item)
    print("現在のリスト:", shopping_list)
Python

ここで深掘りしたいポイント

item.strip() == "" の意味を、ちゃんと理解しておきましょう。

strip()
前後の空白を取り除くメソッドです。

" ".strip()""
" りんご ".strip()"りんご"

つまり、

「空白しかない入力」も
「何も入力していない」のと同じ扱いにできる、ということです。

バリデーションは、
「アプリを変なデータから守るフィルター」
だと思ってください。


list の中身を“人間にとって見やすく”表示する

そのまま print だと、ちょっと不親切

print(shopping_list)
Python

これでも中身は見えますが、
ユーザーにとっては少し分かりづらいです。

例えば、こう表示できたらどうでしょう。

1: りんご
2: 牛乳
3: 卵

一気に「アプリっぽく」なります。

enumerate で番号つき表示にする

shopping_list = ["りんご", "牛乳", "卵"]

print("現在のリスト:")
for index, item in enumerate(shopping_list, start=1):
    print(f"{index}: {item}")
Python

出力はこうなります。

現在のリスト:
1: りんご
2: 牛乳
3: 卵

ここで押さえたいのは、

enumerate
「番号」と「中身」を同時に取り出す仕組み

ということです。

番号をつけておくと、
後で「3番を削除」「2番を編集」などの操作がしやすくなります。


2日目のミニアプリ:追加 → バリデーション → 番号つき表示

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

shopping_list = []

print("買い物リストアプリ")
print("買いたいものを入力してください。終了は『終了』。")

while True:
    item = input("追加するもの: ")

    if item == "終了":
        break

    if item.strip() == "":
        print("空の入力は追加できません")
        continue

    shopping_list.append(item)
    print("追加しました:", item)

print("\n最終的な買い物リスト:")

if len(shopping_list) == 0:
    print("何も登録されていません。")
else:
    for index, item in enumerate(shopping_list, start=1):
        print(f"{index}: {item}")
Python

この中に、2日目で押さえたい要素が全部入っています。

空の list を「アプリの記憶」として用意する
append で「保存」する
バリデーションで「変な入力を弾く」
番号つきで「人間にとって見やすく表示する」


2日目のまとめ:今日つかんでほしい感覚

今日、ちゃんと持ち帰ってほしいのはこの感覚です。

list は「アプリの記憶」
append は「記憶に書き込む動き」
バリデーションは「変なデータを入れないフィルター」
表示は「ユーザーへの説明」

1日目は「文法を知る日」だったとしたら、
2日目は
「それをアプリの流れとして意識する日」です。

ここまで来ると、
3日目以降の「数値を扱う」「条件付きで追加する」「集めたデータを使って計算する」
といったステップが、かなりスムーズになります。

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