Pythonで作るToDoアプリ入門(コード全公開)

プログラミング

「Pythonを勉強したいけど、どこから始めればいい?」「とにかく何か作ってみたい!」
そんな初心者の悩みを解決するのが、ToDoアプリの自作です。

このアプリは、基本の文法・ファイル操作・条件分岐・ループ・関数といった要素がギュッと詰まっています。
しかも完成すれば、実際に日常生活でも使えるツールになります。

この記事では、誰でも簡単に作れるToDoアプリの作り方を、コード全公開で丁寧に解説します。


ToDoアプリとは?基本の考え方

結論:タスクを追加・表示・保存できるアプリです

ToDoアプリとは、「やることリスト」を管理するツールです。
簡単に見えて、プログラミングの基本機能がたくさん詰まっています。

具体的に何ができる?

  • タスクを追加する
  • タスクを一覧表示する
  • タスクを完了済みにする
  • タスクを削除する
  • データを保存して再利用する

このような一連の機能をPythonだけで作ってみましょう。


使用するPythonの機能一覧

結論:初心者でも覚えやすい構文だけで作成可能です

このアプリで使う主な機能は以下のとおりです。

  • input()(ユーザー入力)
  • print()(出力)
  • open()(ファイル保存・読み込み)
  • for / if(繰り返しと条件)
  • def(関数の定義)

これだけでToDoアプリが完成します。


コードの全体像と構成

結論:構成はシンプルな関数の組み合わせです

アプリ全体は次のような関数に分けて作成します。

  • load_tasks():ファイルからタスクを読み込む
  • save_tasks():ファイルにタスクを書き込む
  • show_tasks():現在のタスクリストを表示
  • add_task():新しいタスクを追加
  • delete_task():タスクを削除
  • main():メニューと制御

この構造で「見やすさ」と「使いやすさ」の両立を図ります。


完成形コードをすべて公開!

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# todo_app.py
 
def load_tasks():
    try:
        with open("tasks.txt", "r", encoding="utf-8") as f:
            return [line.strip() for line in f.readlines()]
    except FileNotFoundError:
        return []
 
def save_tasks(tasks):
    with open("tasks.txt", "w", encoding="utf-8") as f:
        for task in tasks:
            f.write(task + "\n")
 
def show_tasks(tasks):
    if not tasks:
        print("現在のタスクはありません。")
    else:
        print("\n現在のタスク:")
        for idx, task in enumerate(tasks, 1):
            print(f"{idx}. {task}")
        print()
 
def add_task(tasks):
    new_task = input("追加するタスクを入力してください: ")
    tasks.append(new_task)
    print(f"「{new_task}」を追加しました。")
 
def delete_task(tasks):
    show_tasks(tasks)
    try:
        num = int(input("削除するタスクの番号を入力: "))
        if 1 <= num <= len(tasks):
            removed = tasks.pop(num - 1)
            print(f"「{removed}」を削除しました。")
        else:
            print("無効な番号です。")
    except ValueError:
        print("数字を入力してください。")
 
def main():
    tasks = load_tasks()
 
    while True:
        print("\n==== ToDo メニュー ====")
        print("1. タスク一覧")
        print("2. タスク追加")
        print("3. タスク削除")
        print("4. 終了")
 
        choice = input("番号を選んでください: ")
 
        if choice == "1":
            show_tasks(tasks)
        elif choice == "2":
            add_task(tasks)
            save_tasks(tasks)
        elif choice == "3":
            delete_task(tasks)
            save_tasks(tasks)
        elif choice == "4":
            save_tasks(tasks)
            print("保存して終了します。")
            break
        else:
            print("無効な入力です。1〜4を選んでください。")
 
if __name__ == "__main__":
    main()

よくあるエラーとその対処法

結論:ファイル操作と入力ミスに注意

初心者がつまずきやすいポイントをまとめました。

FileNotFoundError

  • 原因:tasks.txtが存在しないのに読み込もうとしている
  • 解決策:try-exceptで処理を囲んでエラー回避済みです

ValueError

  • 原因:削除時に数字以外を入力
  • 解決策:int()変換をtryブロックで保護

IndexError

  • 原因:存在しない番号のタスクを指定
  • 解決策:1 <= num <= len(tasks)で範囲を事前に確認

まとめ:PythonでToDoアプリを作ってみよう

ToDoアプリは、シンプルな構造ながら実用性が高く、学習にも最適な題材です。

学べること:

  • ユーザー入力の受け取り
  • 条件分岐と繰り返し
  • データ保存と読み込み
  • 関数を使った構造的な設計

応用ポイント:

  • 完了済みタスクのチェック機能を追加
  • 日時やカテゴリの保存機能
  • GUI(画面付きアプリ)への発展

「まずは作ってみる」が最大の学習法です。
ぜひこのコードを動かして、あなただけのToDoアプリを完成させてください!

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