PRACTICE MENU

Python練習アプリ・お題集【初心者向け】

「手を動かす練習がしたい。お題をください」という方のための練習メニュー集です。レベル別の練習セットに加えて、「リストが苦手」「関数が苦手」から逆引きできるドリルを用意しました。全お題、動作確認済みの完成コードつきです。

📋 レベル別4セット+弱点ドリル ✅ 全お題コード付き ⏱️ 1本 1〜2時間

1. 練習の鉄則:写経3割・改造7割

お題に入る前に、練習の効果を最大化するルールを1つだけ。「完成コードを写して動かす(写経)」で終わらせず、必ず自分の意思で1箇所以上改造すること。配色を変える、メッセージを変える、ボタンを1個足す──何でも構いません。

もう1つ、見落とされがちな話を。「自由に何か作ってみよう」という自由課題は、実は初心者にとって一番難しい課題です。題材選び・仕様決め・実装の3つを同時にやることになるからです。お題(仕様が決まっている課題)を使えば、頭のリソースを実装だけに集中できます。プロのスポーツ選手が試合だけでなく型の決まった練習メニューをこなすのと同じ理屈です。

写経は「読める」を作り、改造が「書ける」を作ります。時間配分の感覚は写経3割・改造7割。この練習法の背景は入門後の練習ロードマップで詳しく説明しているので、「そもそもどう学習を進めるべきか」から知りたい方は先にそちらをどうぞ。

ℹ️
前提

本ページのお題は、入門書の前半レベル(変数・if・for・関数がだいたい分かる)を前提にしています。環境がまだの方はPythonのインストールから。文法に不安があれば基本構文を脇に開きながらで大丈夫です。

2. 30秒レベル診断:どのセットから始める?

次の3つの質問で、開始セットを決めてください。

質問いいえ →はい →
Q1. tkinterでウィンドウを表示したことがあるセットAからQ2へ
Q2. リストや辞書を使ったアプリを完成させたことがあるセットBからQ3へ
Q3. 時間処理(タイマー等)やファイル保存を実装したことがあるセットCからセットDから

診断はあくまで目安です。実際に1本やってみて「説明を読まなくても全部わかる」ならセットを1つ上げ、「写経しても意味が追えない」なら1つ下げる──この調整感覚そのものが、自分の現在地を知る練習になります。

迷ったら1つ下のセットから。簡単すぎたらスキップすればいいだけなので、易しい側に倒す方が挫折しません。

3. セットA:超初級(画面に慣れる5本)

狙い:「ウィンドウ・ラベル・ボタン・入力欄」というGUIの基本部品に慣れる。プログラムに「画面がある」楽しさを体験するセットです。

#お題身につくこと改造のヒント
A-1Hello World ウィンドウウィンドウとラベルの基本メッセージと配色を自分仕様に
A-2BMI計算機入力→計算→表示の基本形判定コメントを追加
A-3温度変換ツール数値変換・関数の整理華氏⇄摂氏の双方向化
A-4割り勘計算機複数入力の扱い端数処理のルール変更
A-5サイコロシミュレーター乱数・画面更新2個振り・合計表示

よくあるつまずき:入力欄から受け取った値が「文字列」のままで計算エラーになるパターン(A-2〜A-4で必ず出会います)。int()float()での変換と、数字以外が入力されたときの対処がこのセットの裏テーマです。エラーが出たらエラー解決ページのValueErrorの項を見てください。

4. セットB:初級(データを扱う5本)

狙い:リスト・辞書・文字列という「データの持ち方」を画面と連動させる練習。プログラムが急に「道具」っぽくなるセットです。

#お題身につくこと改造のヒント
B-1ToDoリストリストの追加・削除と画面反映完了チェック機能
B-2ワードカウンター文字列の分割・集計文字種別のカウント
B-3名言ジェネレーターリストからのランダム選択自分の推し名言を登録
B-4単語帳アプリ辞書型でのデータ管理正答率の記録
B-5じゃんけんゲーム条件分岐の整理・勝敗ロジック連勝カウンター

よくあるつまずき:「リストは更新したのに画面が変わらない」問題。データと画面は自動では連動しないので、データを変えたら画面を描き直すという2段階の意識がこのセットで身につけるべき核心です。B-1のToDoリストで一度腹落ちすると、以降のすべてのアプリで応用できます。

5. セットC:初中級(状態と時間を操る5本)

狙い:「動き続けるプログラム」の作り方。タイマー処理(after)と状態管理は、GUIアプリの中核スキルです。

#お題身につくこと改造のヒント
C-1デジタル時計afterによる定期更新日付・曜日表示の追加
C-2ストップウォッチ開始/停止の状態管理ラップタイム記録
C-3アラームクロック時刻比較・通知スヌーズ機能
C-4タイピング速度テスト時間計測×文字列比較苦手キーの統計
C-5神経衰弱ゲーム複雑な状態管理カード枚数の難易度選択

よくあるつまずき:time.sleep()を使ったら画面が固まった」。GUIでは sleep ではなく after() で「○ミリ秒後にこの関数を呼ぶ」と予約するのが正解です。この発想の転換(待つ→予約する)がセットC最大の山場で、越えると作れるアプリの幅が一気に広がります。

6. セットD:中級への橋(実用5本)

狙い:ファイル保存・外部データという「実用アプリの条件」を満たす練習。ここを越えると中級者向け100本の世界に入れます。

#お題身につくこと改造のヒント
D-1メモ帳アプリファイルの読み書き最近開いたファイル一覧
D-2パスワード生成器文字列生成・クリップボード強度メーター
D-3クイズアプリデータ構造の設計・画面遷移問題をファイルから読み込み
D-4ファイルマネージャーフォルダ操作・ツリー表示お気に入りフォルダ登録
D-5CSVビューアpandasで表データを扱う列の並べ替え機能

よくあるつまずき:ファイルパスと文字コードです。「ファイルが見つからない」(FileNotFoundError)と「日本語が化ける・読めない」(UnicodeDecodeError)は、実用アプリを作る全員が通る道。encoding="utf-8" の明示と、ファイルダイアログでパスを受け取る習慣をここで身につけると、この先ずっと楽になります。

7. 苦手スキル別ドリル【逆引き】

セット練習の途中でも、卒業後の復習でも使える「弱点から逆引きする」表です。苦手な文法・スキルを、それを一番使うお題で潰すのが狙いです。文法書を読み直すより、その文法が主役のアプリを1本作る方が、記憶への定着は段違いに良くなります。エラーが多発する分野ほど、ここで集中練習する価値があります。

苦手なこと処方箋(このお題で集中練習)理由
リスト・辞書の操作ToDoリスト単語帳追加・削除・検索・更新が全部登場する
文字列処理ワードカウンター文字数カウンター分割・置換・集計の頻出パターンを網羅
関数の切り分け電卓「1ボタン=1関数」の整理感覚が身につく
条件分岐が複雑になると混乱じゃんけんログインフォーム分岐の整理と早期return の練習に最適
時間・タイマー処理時計ストップウォッチafter()の使い方はこの2本でしっかり身につく
ファイル読み書きメモ帳JSONビューアテキスト→構造化データの順で段階を踏める
クラス・オブジェクト指向お絵かきアプリMarkdownエディタ「状態を持つ部品」の設計を体感できる
エラーへの対処全般どのお題でもOK+エラー解決ページを常に脇にエラーは敵ではなく教材。20種の対処を辞書代わりに

ドリルの使い方のコツは「同じ弱点のお題を連続で2本やる」こと。1本目で「なんとなく分かった」を、2本目で「自分で書けた」に変えるのが狙いです。1本だけだと、分かった気になって同じエラーを繰り返しがちです。

文法そのものの復習が必要だと感じたら、基本構文関数に戻るのも立派な練習です。行き来しながら進んでください。

8. 30日練習プラン(週ごとの目安)

「毎日30分〜1時間」を前提にした、4週間のモデルプランです。完走すれば15本前後の完成品が手元に残ります。

メニューゴール
第1週セットA(5本)+改造各1箇所GUIの基本部品に慣れる
第2週セットB(5本)+改造各1箇所データと画面の連動を体得
第3週セットC(5本)+うち1本を「ゼロから再現」状態管理・時間処理の壁を越える
第4週セットD(5本)+苦手ドリルで弱点1つ潰す実用アプリの入口に立つ

途中で止まってしまったら:3日空いても気にせず、「前回より1サイズ小さいお題」から再開してください。再開のハードルは下げるほど良く、失った進捗を取り返そうと背伸びするのが一番危険です。プランの遅れはゼロコスト、やめてしまうことだけがコストです。

完成した日付とアプリ名は一覧に記録してください。30日後の「完成リスト」は、想像以上の自信とポートフォリオの種になります。途中で面白そうなお題を見つけたら、プランを無視して寄り道してOK。続くことがプランより偉いです。

9. 卒業判定:これができたら練習は終わり

練習はゴールではないので、やめどきも決めておきましょう。次の3つを満たしたら、もう「練習のための練習」は卒業です。自己評価が難しければ、直近に作った1本を「コードを見ずにもう一度作れるか」で代用してください。

  • ✅ お題を見て、完成コードを見る前に「だいたいこういう部品と処理が要るな」と設計が浮かぶ
  • ✅ エラーが出ても、メッセージを読んで自力で(または検索して)解決できる
  • ✅ 写経せずに、小さいアプリを1本ゼロから完成させたことがある

注意してほしいのは、この3条件は「全お題の制覇」を要求していないことです。練習の目的は完璧さではなく、「未知のお題を前にしても手が動く状態」を作ること。それができた瞬間から、世界中のチュートリアルもAIも、あなたの道具になります。

卒業後の進路は3つ。①中級者向け100本で実用アプリへ、②Pythonで作れるもの一覧から興味分野(自動化・データ分析・AI等)へ、③自分の仕事・趣味の課題を解く完全オリジナルへ。どれを選んでも、ここまでの練習が土台になります。

10. よくある質問(FAQ)

Q. 練習にはどれくらい時間がかかりますか?

1本あたり写経30分〜1時間+改造30分が目安です。平日30分〜1時間のペースなら、各セット(5本)を約1〜2週間で完走できます。

Q. 写経だけでも力はつきますか?

写経だけでは「読める」止まりになりがちです。必ず1箇所、自分の意思で改造してください(§1の鉄則)。写経と自作の間の壁を壊すのは小さな改造です。

Q. 競技プログラミング(AtCoder等)とどちらが良いですか?

目的次第です。アルゴリズム的思考を鍛えるなら競プロ、「動くものを作る力」なら本ページのようなアプリ練習。仕事の自動化や作品づくりが目的なら、画面のあるアプリを完成させる練習の方が直結します。両方やる場合も、まず「完成させる体力」を先に付けるのがおすすめです。

Q. お題のコードをそのまま使ってもいいですか?

当サイトの掲載コードはMITライセンスで、学習・改造・再利用は自由です。ポートフォリオに載せるなら、自分の改造を加えたうえで「ベースを参考にした」ことを書くのが誠実です。

Q. 全部やる必要はありますか?

ありません。セットを2〜3個(10〜15本)完走して§9の卒業判定を満たしたら、練習段階は終了です。一番もったいないのは「練習を完璧にしてから作品へ」と先延ばしすること。早く卒業して、作りたいものを作ってください。

本記事は、生成AIを活用して下書きし、運営者が内容を確認・編集したうえで公開しています。AIの利用方針は免責事項をご覧ください。