4日目のゴール
4日目のテーマは
「list と append を“整理しながら使う力”を身につけること」です。
1〜3日目で
list に追加する
条件をつけて追加する
追加したデータを加工する
という基礎はできました。
今日はそこから一歩進んで、
重複を防ぐ
追加前に確認する
追加後の表示を整える
データを“管理する”感覚を身につける
という、アプリとしての完成度を上げるステップに進みます。
list を「管理する対象」として扱う
データが増えると“問題”が出てくる
アプリを作ると、
データが増えるほど扱いが難しくなります。
同じものが何度も追加される
間違った入力が混ざる
追加した順番が分からなくなる
こうした問題を解決するために、
4日目では list を「ただの箱」ではなく
“管理する対象”として扱います。
重複チェックを入れて「同じものを入れない」
同じデータが何度も入るとアプリが使いにくい
例えば、買い物リストで
りんご
りんご
りんご
と何度も追加されると、
ユーザーは混乱します。
そこで「すでにあるものは追加しない」というルールを入れます。
shopping_list = []
while True:
item = input("追加するもの: ")
if item == "終了":
break
if item.strip() == "":
print("空の入力は追加できません")
continue
if item in shopping_list:
print("すでにリストにあります:", item)
continue
shopping_list.append(item)
print("追加しました:", item)
Python深掘りポイント:item in shopping_list の意味
in は
「その値が list の中にあるか?」
を調べるためのキーワードです。
Python が内部で
list の中身を1つずつチェックしてくれます。
この一行を知っているだけで、
アプリの品質が一気に上がります。
追加前に「確認メッセージ」を入れる
アプリらしい“ひと手間”を加える
ユーザーが入力したものを
そのまま追加するのではなく、
「本当に追加しますか?」
という確認を入れると、アプリらしさが増します。
confirm = input(f"『{item}』を追加しますか? (y/n): ")
if confirm.lower() != "y":
print("追加をキャンセルしました")
continue
Python深掘りポイント:lower() の意味
lower() は
入力された文字をすべて小文字に変換します。
つまり、
Y
y
YES
Yes
など、どんな入力でも
「小文字の y と比較する」ことで判定できます。
アプリは
“ユーザーの入力の揺れ”を吸収する
ことが大切です。
追加後のフィードバックを整える
ただ print するだけでは不親切
print("追加しました:", item)
Pythonこれだけだと、
ユーザーは「今どうなっているのか」が分かりにくいです。
そこで、追加後に list 全体を見やすく表示します。
print("\n現在のリスト:")
for index, value in enumerate(shopping_list, start=1):
print(f"{index}: {value}")
print()
Python深掘りポイント:なぜ番号をつけるのか
番号をつけると、
削除したいとき
編集したいとき
順番を変えたいとき
に、とても便利です。
アプリは
“ユーザーが操作しやすい形でデータを見せる”
ことが重要です。
4日目のミニアプリ:重複チェック+確認つき追加アプリ
今日の学びを全部入れたコード
shopping_list = []
print("買い物リストアプリ")
print("追加したいものを入力してください。終了は『終了』。")
while True:
item = input("追加するもの: ")
if item == "終了":
break
if item.strip() == "":
print("空の入力は追加できません")
continue
if item in shopping_list:
print("すでにリストにあります:", item)
continue
confirm = input(f"『{item}』を追加しますか? (y/n): ")
if confirm.lower() != "y":
print("追加をキャンセルしました")
continue
shopping_list.append(item)
print("追加しました:", item)
print("\n現在のリスト:")
for index, value in enumerate(shopping_list, start=1):
print(f"{index}: {value}")
print()
print("最終的なリスト:", shopping_list)
Pythonこのアプリには、
空文字チェック
重複チェック
追加前の確認
追加後の見やすい表示
という、4日目で身につけたい要素がすべて入っています。
4日目のまとめ
今日つかんでほしい感覚はこれです。
list は「データを管理する場所」
append は「保存する動き」
重複チェックは「アプリの品質を守る」
確認メッセージは「ユーザーのミスを防ぐ」
番号つき表示は「ユーザーが理解しやすい形に整える」
この感覚が身につくと、
5日目以降の「削除」「検索」「編集」などの操作が
ぐっと理解しやすくなります。
次は、
「追加したデータを削除する」
という、アプリに欠かせない機能に進みます。


