Pythonで「ToDoリストアプリ」を作ってみた【ファイル保存機能つき】

プログラミング

「Pythonの勉強を始めたけど、どんなアプリを作ればいいかわからない」「簡単で達成感のある作品を作ってみたい」。そんな方におすすめなのが、ToDoリストアプリです。

このアプリは、タスクを追加・削除し、しかもファイルに保存できるので、学習にも実用にもぴったり。

本記事では、Python初心者でも理解できるように丁寧に解説しながら、実際にコードを書いてToDoアプリを作成していきます。

PythonでToDoアプリを作るメリット

結論

ToDoアプリは「簡単だけど学べることが多い」題材です。

学べるスキルが多い

• リストや辞書の使い方

• ファイル保存の方法

• 条件分岐(if文)

• 繰り返し(for、while)

これらはPythonにおいて最初に身につけたい基礎です。ToDoリストアプリを作れば、それらを実際に動かしながら学べるので、記憶にも残ります。

完成までの道筋が明確

タスクを追加・削除・表示・保存。この4つの機能を順に作れば完成します。

ゴールが明確なので途中で挫折しにくいのもポイントです。

アプリ作成に必要な準備

結論

Pythonとテキストエディタだけで十分です。

必要なツールはシンプル

以下を準備してください:

• Python(3.x系)

→ 公式ダウンロードページ

• テキストエディタ(例:VSCode、Sublime Text)

• コマンドライン(Macならターミナル、WindowsならPowerShell)

ファイル保存の基礎も押さえる

今回はデータをファイルに保存するために open() 関数を使います。

この関数は「書き込み」「読み込み」など、モードを切り替えて使える便利な道具です。

ToDoリストの基本構造を理解する

結論

やることは「追加・表示・削除・保存」の4つだけです。

タスクの扱いはリストでOK

1
tasks = []

タスクをリストに追加・削除していく構造が基本です。

ユーザー操作を選択制にする

1
2
3
4
5
6
while True:
    print("1. タスクを追加")
    print("2. タスクを表示")
    print("3. タスクを削除")
    print("4. 保存して終了")
    choice = input("選んでください:")

このように、ユーザーが選べるインターフェースを作ればアプリらしくなります。

タスクを追加・表示する処理を書く

結論

ユーザーの入力をリストに追加し、きれいに表示しましょう。

追加するコード

1
2
task = input("追加するタスクを入力してください:")
tasks.append(task)

これでタスクが tasks リストに追加されます。

一覧表示のコード

1
2
for i, t in enumerate(tasks):
    print(f"{i + 1}. {t}")

番号付きで表示すると削除しやすくなります。

タスクを削除する機能を実装する

結論

番号を入力して削除できるようにすれば使いやすさアップです。

削除のコード

1
2
3
4
5
delete_index = int(input("削除する番号を入力してください:")) - 1
if 0 <= delete_index < len(tasks):
    del tasks[delete_index]
else:
    print("正しい番号を入力してください。")

番号の範囲チェックはミス防止の基本です。

削除後の確認表示

1
2
3
print("現在のタスク一覧:")
for i, t in enumerate(tasks):
    print(f"{i + 1}. {t}")

ユーザーに削除されたことを明示しましょう。

ファイル保存機能を追加しよう

結論

with open()を使えば、安全にデータを保存できます。

保存コードの例

1
2
3
4
with open("tasks.txt", "w", encoding="utf-8") as f:
    for task in tasks:
        f.write(task + "\n")
print("保存しました。")

UTF-8で保存すれば日本語もOK。

起動時に読み込む処理

1
2
3
4
5
try:
    with open("tasks.txt", "r", encoding="utf-8") as f:
        tasks = [line.strip() for line in f.readlines()]
except FileNotFoundError:
    tasks = []

初回はファイルがなくても大丈夫なようにしておくと親切です。

完成版のコードまとめ

結論

ここまでの内容を1つにまとめましょう。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
tasks = []
 
# 読み込み
try:
    with open("tasks.txt", "r", encoding="utf-8") as f:
        tasks = [line.strip() for line in f.readlines()]
except FileNotFoundError:
    pass
 
while True:
    print("\n1. タスクを追加")
    print("2. タスクを表示")
    print("3. タスクを削除")
    print("4. 保存して終了")
    choice = input("選択:")
 
    if choice == "1":
        task = input("追加:")
        tasks.append(task)
 
    elif choice == "2":
        for i, t in enumerate(tasks):
            print(f"{i + 1}. {t}")
 
    elif choice == "3":
        delete_index = int(input("削除する番号:")) - 1
        if 0 <= delete_index < len(tasks):
            del tasks[delete_index]
        else:
            print("番号が無効です。")
 
    elif choice == "4":
        with open("tasks.txt", "w", encoding="utf-8") as f:
            for task in tasks:
                f.write(task + "\n")
        print("保存しました。終了します。")
        break
 
    else:
        print("正しい選択肢を入力してください。")

学んだ内容を振り返ろう

結論

この記事で学べたこと

ToDoリストでPythonの基礎が一通り学べます。

• input()の使い方

• リストの活用

• if文やfor文の基本

• with open()でのファイル処理

• データの保存と読み込み

次に挑戦したいアレンジ

• 期限を追加する

• 完了済みのタスクにチェックをつける

• GUIで表示する(例:tkinter)

まとめ

Python初心者でも作れるToDoリストアプリは、基本文法とファイル処理を同時に学べる最高の教材です。

アプリを実際に動かして、自分の手で機能が増えていく感覚をぜひ味わってみてください。

もっとステップアップしたい方は、Python入門シリーズで他のアプリ開発にもチャレンジしてみてください!

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