「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入門シリーズで他のアプリ開発にもチャレンジしてみてください!