1日目のゴールと全体像
住所録アプリ 1日目のテーマは 「名前・住所・電話番号などの“連絡先データ”を入力し、ファイルに保存できる最小の住所録アプリを作りながら、変数・条件分岐・繰り返し・関数・ファイル操作の基礎を体験すること」 です。
ここで作るのは、次のようなシンプルなコンソールアプリです。
- 名前・住所・電話番号を入力する
- テキストファイルに保存する
- 続けて登録するか終了するか選べる
この「住所録」という題材は、 データを扱うアプリの基本形 を学ぶのに最適です。
住所録アプリの最小イメージ
- 「名前を入力してください」
- 「住所を入力してください」
- 「電話番号を入力してください」
- ファイルに保存
- 「続けて登録しますか?(y/n)」
y→ もう一件登録n→ 終了
この流れを Python で作るのが 1日目のゴールです。
変数とは何か(住所録で理解する)
変数は「値に名前をつけて覚えておくメモ」です。
住所録アプリでは、次のような情報を変数に入れます。
name = "田中太郎"
address = "東京都渋谷区…"
phone = "090-1234-5678"
Pythonこうしておくことで、 あとでファイルに書き込むときに迷わず扱えます。
条件分岐とは「状況によって動きを変えること」
住所録アプリでの条件分岐の代表例はこれです。
y→ 続けて登録n→ アプリ終了- その他 → 入力ミスとして注意
Pythonでは if / elif / else を使います。
繰り返しとは「同じ流れを何度も回すこと」
住所録アプリでは、 「登録 → 保存 → 続けるか聞く」 という流れを何度も繰り返します。
ここでは while True: を使います。
while True:→ 永遠に繰り返すbreak→ ループを抜ける
このパターンは多くのコンソールアプリで使われます。
関数とは「処理に名前をつけてまとめること」
住所録アプリでは、 「1件分の住所録を登録して保存する」処理を関数にまとめます。
def add_contact():
...
Python関数を使うと、
- コードが読みやすくなる
- 機能ごとに整理できる
- 拡張しやすくなる
というメリットがあります。
ファイル操作とは「外の世界にデータを残すこと」
Pythonでは open() を使ってファイルを扱います。
住所録アプリでは、
address_book.txtに追記する- 1件分のまとまりを保存する
という形で使います。
ポイントは次の3つ。
"a"→ 追記モードwith open(...)→ 自動で閉じてくれるwrite()→ 文字列を書き込む
住所録アプリ 1日目の完成コード
# 住所録アプリ 1日目
# 目的:
# - 名前・住所・電話番号を入力してファイルに保存する
# - 変数・条件分岐・繰り返し・関数・ファイル操作を体験する
def add_contact():
"""
1件分の住所録データを入力して、ファイルに保存する関数
"""
# 名前を入力
name = input("名前を入力してください: ")
# 住所を入力
address = input("住所を入力してください: ")
# 電話番号を入力
phone = input("電話番号を入力してください: ")
# ファイルに書き込む(追記モード)
with open("address_book.txt", "a", encoding="utf-8") as f:
f.write("==== 住所録 ====\n")
f.write(f"名前: {name}\n")
f.write(f"住所: {address}\n")
f.write(f"電話番号: {phone}\n")
f.write("\n") # 空行で区切り
print("住所録を保存しました。address_book.txt を確認してみてください。")
def main():
"""
アプリ全体の流れを管理する関数
"""
print("Python 住所録アプリ 1日目")
print("名前・住所・電話番号を登録してみましょう。")
print("------------------------------")
while True:
# 1件分の住所録を登録
add_contact()
# 続けるかどうかを聞く
answer = input("続けて登録しますか? (y/n): ")
if answer == "y":
print("もう1件登録します。")
print("------------------------------")
elif answer == "n":
print("住所録アプリを終了します。おつかれさまでした。")
break
else:
print("y か n を入力してください。")
if __name__ == "__main__":
main()
Pythonコードの重要ポイントをかみ砕いて解説
● 変数の役割
name = input("名前を入力してください: ")
Python- ユーザーの入力を変数に保存
- 変数名は「何が入っているか」がわかる名前にする
● 条件分岐の役割
if answer == "y":
...
elif answer == "n":
...
else:
...
Python- ユーザーの選択によって動きを変える
- アプリが「対話的」になる
● 繰り返しの役割
while True:
add_contact()
...
Python- ユーザーがやめるまで続ける
breakでループを終了
● 関数の役割
def add_contact():
Python- 「住所録を1件登録する」という仕事をまとめる
- main() が読みやすくなる
● ファイル操作の役割
with open("address_book.txt", "a", encoding="utf-8") as f:
Python"a"→ 追記モードwith→ 自動で閉じるwrite()→ ファイルに書き込む
1日目で本当に掴んでほしいこと
● 変数は「意味のある名前をつける」
住所録はデータが多いので、 変数名がわかりやすいほどコードが読みやすくなる。
● 条件分岐は「ユーザーの選択に応じて動きを変える」
住所録アプリは「続けるか終わるか」を選ぶことで アプリらしさが生まれる。
● 繰り返しは「アプリを継続的に使えるようにする」
while True+break は多くのアプリで使われる基本形。
● 関数は「コードを整理するための武器」
機能ごとに分けることで、 アプリが「部品の集合」として理解できる。
● ファイル操作は「アプリに記憶を持たせる」
住所録は「蓄積するデータ」なので、 ファイル保存は必須の技術。
次のステップ(2日目の予告)
2日目では、住所録アプリをさらに育てて、
- 登録した住所録を読み出す
- メニュー形式(登録/閲覧/終了)にする
- 複数件のデータを扱う練習をする
という「住所録アプリの基本形」を完成させます。
さらに深掘りしたい方は ファイル操作の基本 を選ぶと理解がより強固になります。


