「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アプリを完成させてください!