1日目のゴールと全体像
連絡先管理アプリ 1日目のテーマは 「名前・メールアドレス・電話番号などの“連絡先情報”を入力し、ファイルに保存できる最小のアプリを作りながら、変数・条件分岐・繰り返し・関数・ファイル操作の基礎を体験すること」 です。
ここで作るのは、次のようなシンプルなコンソールアプリです。
- 名前・メールアドレス・電話番号を入力する
- テキストファイルに保存する
- 続けて登録するか終了するか選べる
「連絡先管理」という題材は、 現実の生活で使うイメージがしやすく、データを扱うアプリの基本形 を学ぶのにぴったりです。
連絡先管理アプリの最小イメージ
- 「名前を入力してください」
- 「メールアドレスを入力してください」
- 「電話番号を入力してください」
- ファイルに保存
- 「続けて登録しますか?(y/n)」
y→ もう一件登録n→ 終了
この流れを Python で作るのが 1日目のゴールです。
変数とは何か(連絡先で理解する)
変数は「値に名前をつけて覚えておくメモ」です。
連絡先管理アプリでは、次のような情報を変数に入れます。
name = "佐藤太郎"
email = "taro@example.com"
phone = "090-1234-5678"
Pythonこうしておくことで、 あとでファイルに書き込むときに迷わず扱えます。
ポイントは、 「何が入っているか」がわかる名前をつけること。 n や x よりも、name や email の方が圧倒的に読みやすくなります。
条件分岐とは「状況によって動きを変えること」
連絡先管理アプリでの条件分岐の代表例はこれです。
y→ 続けて登録n→ アプリ終了- その他 → 入力ミスとして注意
Pythonでは if / elif / else を使います。
answer = input("続けて登録しますか? (y/n): ")
if answer == "y":
print("もう1件登録します。")
elif answer == "n":
print("終了します。")
else:
print("y か n を入力してください。")
Pythonここで大事なのは、 ユーザーの入力に応じてアプリの動きを変える という感覚です。 これが「プログラムがただの計算機ではなく、対話的なツールになる瞬間」です。
繰り返しとは「同じ流れを何度も回すこと」
連絡先管理アプリでは、 「登録 → 保存 → 続けるか聞く」 という流れを何度も繰り返します。
ここでは while True: を使います。
while True:→ 永遠に繰り返すbreak→ ループを抜ける
while True:
# ここに「1件登録する処理」が入る
answer = input("続けて登録しますか? (y/n): ")
if answer == "y":
# 何もしない → while に戻る
pass
elif answer == "n":
print("終了します。")
break
else:
print("y か n を入力してください。")
Pythonこのパターンは、 コンソールアプリの基本形 と言っていいくらいよく使われます。
関数とは「処理に名前をつけてまとめること」
連絡先管理アプリでは、 「1件分の連絡先を登録して保存する」処理を関数にまとめます。
def add_contact():
...
Python関数を使うと、
- コードが読みやすくなる
- 機能ごとに整理できる
- 拡張しやすくなる
というメリットがあります。
「登録」「表示」「検索」など、 機能ごとに関数を分けていくのがアプリ作りの基本です。
ファイル操作とは「外の世界にデータを残すこと」
Pythonでは open() を使ってファイルを扱います。
連絡先管理アプリでは、
contacts.txtに追記する- 1件分のまとまりを保存する
という形で使います。
ポイントは次の3つ。
"a"→ 追記モード(既存の内容の末尾に追加)with open(...)→ 自動で閉じてくれるwrite()→ 文字列を書き込む
連絡先管理アプリ 1日目の完成コード
ここまでの話を全部まとめると、 1日目の完成コードは次のようになります。
# 連絡先管理アプリ 1日目
# 目的:
# - 名前・メールアドレス・電話番号を入力してファイルに保存する
# - 変数・条件分岐・繰り返し・関数・ファイル操作を体験する
def add_contact():
"""
1件分の連絡先データを入力して、ファイルに保存する関数
"""
# 名前を入力
name = input("名前を入力してください: ")
# メールアドレスを入力
email = input("メールアドレスを入力してください: ")
# 電話番号を入力
phone = input("電話番号を入力してください: ")
# ファイルに書き込む(追記モード)
# contacts.txt というファイルに連絡先を追加していく
with open("contacts.txt", "a", encoding="utf-8") as f:
f.write("==== 連絡先 ====\n")
f.write(f"名前: {name}\n")
f.write(f"メール: {email}\n")
f.write(f"電話番号: {phone}\n")
f.write("\n") # 空行で区切り
print("連絡先を保存しました。contacts.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 を入力してください。")
# このファイルを直接実行したときだけ main() を動かすおまじない
if __name__ == "__main__":
main()
Pythonコードの重要ポイントをかみ砕いて解説
変数の役割
name = input("名前を入力してください: ")
email = input("メールアドレスを入力してください: ")
phone = input("電話番号を入力してください: ")
Python- ユーザーの入力を変数に保存
- 変数名は「何が入っているか」がわかる名前にする
- 後でファイルに書き込むときに、そのまま使える
ここで「変数はデータを一時的に覚えておく箱」だと意識してみてください。
条件分岐の役割
if answer == "y":
...
elif answer == "n":
...
else:
...
Python- ユーザーの選択によって動きを変える
- アプリが「対話的」になる
- 想定外の入力に対してもメッセージを返せる
条件分岐は、 「ユーザーの意思に応じてアプリの流れを変える」ための仕組み です。
繰り返しの役割
while True:
add_contact()
answer = input("続けて登録しますか? (y/n): ")
...
Python- ユーザーが「終わり」と言うまで続ける
breakでループを終了する- メニュー形式のアプリの土台になる
この「無限ループ+break」は、 多くのコンソールアプリで使われる基本パターンです。
関数の役割
def add_contact():
...
Python- 「連絡先を1件登録する」という仕事をまとめる
- main() が読みやすくなる
- 後で機能を増やすときに、部品として再利用できる
関数は、 「コードを整理するための武器」 だと思ってください。
ファイル操作の役割
with open("contacts.txt", "a", encoding="utf-8") as f:
f.write("==== 連絡先 ====\n")
...
Python"a"→ 追記モード(既存の内容の末尾に追加)with→ 自動でファイルを閉じてくれる安全な書き方write()→ 文字列をファイルに書き込む
ファイル操作は、 「アプリに記憶を持たせる技術」 です。 連絡先のような「蓄積するデータ」を扱うときには必須になります。
1日目で本当に掴んでほしいこと
1. 変数は「意味のある名前をつける」
連絡先はデータが多いので、 変数名がわかりやすいほどコードが読みやすくなります。
2. 条件分岐は「ユーザーの選択に応じて動きを変える」
y なら続ける、n なら終わる。 このシンプルな分岐が、アプリらしさを生みます。
3. 繰り返しは「アプリを継続的に使えるようにする」
1回で終わるプログラムから、 「何度でも使えるツール」へ変わる瞬間です。
4. 関数は「コードを整理するための基本単位」
機能ごとに分けることで、 アプリが「部品の集合」として理解できるようになります。
5. ファイル操作は「データを残すための技術」
連絡先は一度登録したら何度も使うもの。 だからこそ、ファイル保存が重要になります。
次のステップ(2日目の予告)
2日目では、この連絡先管理アプリをさらに育てて、
- 登録した連絡先を読み出す
- メニュー形式(登録/一覧表示/終了)にする
- 複数件のデータを扱う練習をする
という「連絡先管理アプリの基本形」を完成させていきます。
1日目のコードが動いたら、 ぜひ contacts.txt を開いてみてください。 そこに「自分が作ったアプリが残したデータ」がある— それが、プログラミングの面白さの入り口です。


