Pythonミニ制作:Todoリストをターミナルで作る

入門 | 13分 で読める | 2026.07.13

公式ドキュメント

今回やること

Todoリストは、複数のタスクを扱う練習に向いています。

今回は安全に動作確認しやすいように、入力待ちではなく決まった操作を順番に実行します。

完成コード

todo_list.py を作ります。

todos = []


def add_todo(title):
    todos.append({"title": title, "done": False})


def complete_todo(index):
    if 0 <= index < len(todos):
        todos[index]["done"] = True


def show_todos():
    for index, todo in enumerate(todos):
        mark = "x" if todo["done"] else " "
        print(f"{index + 1}. [{mark}] {todo['title']}")


add_todo("Pythonを30分学習する")
add_todo("エラー文を読む練習をする")
add_todo("学習メモを書く")

complete_todo(1)
show_todos()

動作確認

python todo_list.py

2番目のTodoだけ [x] になれば成功です。

コードの考え方

  • Todoは辞書で表します
  • Todo一覧はリストで持ちます
  • add_todo は追加担当です
  • complete_todo は完了担当です
  • show_todos は表示担当です

よくあるエラー

エラー原因修正
IndexError存在しない番号を指定した範囲チェックを入れる
完了にならないdone のキー名が違うキー名を統一する
表示がずれる0始まりと1始まりを混同内部は0、表示は+1

練習

  1. Todoを5件に増やす
  2. 1番目のTodoを完了にする
  3. 未完了だけ表示する関数を作る

次のステップ

暗記系アプリに進む場合は Pythonミニ制作:単語帳アプリ が次です。

参考リソース

← 一覧に戻る
PR
PR
PR
PR