「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
tasks = []
タスクをリストに追加・削除していく構造が基本です。
ユーザー操作を選択制にする
while True:
print("1. タスクを追加")
print("2. タスクを表示")
print("3. タスクを削除")
print("4. 保存して終了")
choice = input("選んでください:")
このように、ユーザーが選べるインターフェースを作ればアプリらしくなります。
タスクを追加・表示する処理を書く
結論
ユーザーの入力をリストに追加し、きれいに表示しましょう。
追加するコード
task = input("追加するタスクを入力してください:")
tasks.append(task)
これでタスクが tasks リストに追加されます。
一覧表示のコード
for i, t in enumerate(tasks):
print(f"{i + 1}. {t}")
番号付きで表示すると削除しやすくなります。
タスクを削除する機能を実装する
結論
番号を入力して削除できるようにすれば使いやすさアップです。
削除のコード
delete_index = int(input("削除する番号を入力してください:")) - 1
if 0 <= delete_index < len(tasks):
del tasks[delete_index]
else:
print("正しい番号を入力してください。")
番号の範囲チェックはミス防止の基本です。
削除後の確認表示
print("現在のタスク一覧:")
for i, t in enumerate(tasks):
print(f"{i + 1}. {t}")
ユーザーに削除されたことを明示しましょう。
ファイル保存機能を追加しよう
結論
with open()を使えば、安全にデータを保存できます。
保存コードの例
with open("tasks.txt", "w", encoding="utf-8") as f:
for task in tasks:
f.write(task + "\n")
print("保存しました。")
UTF-8で保存すれば日本語もOK。
起動時に読み込む処理
try:
with open("tasks.txt", "r", encoding="utf-8") as f:
tasks = [line.strip() for line in f.readlines()]
except FileNotFoundError:
tasks = []
初回はファイルがなくても大丈夫なようにしておくと親切です。
完成版のコードまとめ
結論
ここまでの内容を1つにまとめましょう。
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入門シリーズで他のアプリ開発にもチャレンジしてみてください!