バグを見つけて、直して、実行する。それがPythonを鍛える近道。

Pythonデバッグ道場は、意図的にバグを仕込んだPythonコードを自分で修正し、iPhone上でそのまま実行して正誤を確かめるデバッグ練習アプリです。Pyodideエンジンにより実際のPythonコードがブラウザ内で動作するため、サーバー不要でリアルな実行結果を確認できます。ヒント機能と正誤オーバーレイで学習効率を高めます。

App Store からダウンロード

App Store で入手する

App Store からダウンロード

バグ入りコードを修正して実行

問題ごとに意図的なバグが仕込まれたPythonコードが提示されます。コードエディタで修正を加えて「実行」ボタンを押すと、Pyodideエンジンが実際にPythonを実行し、出力結果と期待値を照合して正誤を判定します。

iPhone上でPythonを実際に実行

Pyodide(WebAssembly版Python)をWKWebView内で動かすことで、サーバーへの通信なしにiPhoneだけでPythonコードを実行できます。インターネット接続不要でいつでもどこでも練習できます。

ヒントと正誤フィードバック

行き詰まったときは「ヒント」ボタンをタップすると解説が表示されます。実行後は正解・不正解のオーバーレイが画面全体に大きく表示され、瞬時にフィードバックを受けられます。

プレミアムで全問開放・広告非表示

無料プランでは最初の20問を利用できます。月額プレミアムプランに登録すると数百問すべてにアクセスでき、広告も非表示になります。前回の進捗は自動保存されるため、続きから再開できます。

問題を選んで、コードを直して、実行するだけ。

画面上部に問題文が表示され、その下のコードエディタにバグ入りのPythonコードが読み込まれます。Menloフォントのエディタでコードを修正し、「実行」ボタンを押すと出力結果が下部に表示されます。期待値と一致すれば正解、一致しなければ不正解のオーバーレイが表示され、タップで次の問題へ進めます。

CODE EDIT
PYODIDE

PyodideでサーバーなしにリアルなPythonを実行。

WebAssemblyベースのPyodideをアプリ内のWKWebViewで動かすことで、外部サーバーへの通信なしにiPhone単体でPythonコードをネイティブに実行できます。実行エンジンが準備完了するまでは「実行」ボタンが非活性になり、ロードが完了次第すぐに練習を開始できます。

ヒントで考え方の糸口をつかむ。

「ヒント」ボタンをタップすると、その問題の解説がダイアログで表示されます。バグの種類・修正の考え方・Pythonの文法ポイントが説明され、自力で気づく手がかりを提供します。コードを「クリア」ボタンでリセットして、ヒントを参考に最初から考え直すこともできます。

HINT
PROGRESS

前回の進捗から自動で再開。

最後に解いていた問題番号はUserDefaultsに自動保存されます。アプリを閉じて再度開くと、前回の問題から続けて練習できます。前後の問題へはナビゲーションボタンで切り替え可能で、問題番号はタイトルバーに常に表示されます。

バグを見つける。直して実行する。
くり返すことでデバッグ力が身につく。

かんたん4ステップで練習を始める

1
問題を確認する

画面上部の問題文を読み、どんな処理を実現すべきコードなのかを把握します。ナビゲーションボタンで前後の問題に移動できます。

2
コードのバグを見つけて修正する

コードエディタに表示されたPythonコードのバグを探して修正します。エンジンの準備が整ったら(実行ボタンが青くなったら)コードを実行できます。

3
実行して正誤を確認する

「実行」ボタンをタップすると出力結果が表示されます。期待値と一致すれば正解の、一致しなければ不正解のオーバーレイが表示されます。画面をタップして次へ進みます。

App Store で入手する

App Store からダウンロード

ユーザーの声

"Pythonを勉強し始めたころはエラーが出ても原因がわからず苦労しました。このアプリでバグ入りコードを直す練習を繰り返したら、エラーメッセージを見てすぐどこが問題か気づけるようになりました。実際に実行できるのがリアルで良いです。"

— Python入門中_tanaka

"スキマ時間にiPhoneで1問ずつ解いています。問題ごとにヒントがついているので、詰まっても解説を読んで理解してから次へ進めます。数百問あるので当分ネタ切れになりません。プレミアムにして全問解いています。"

— スキマ学習_sato

"バグを探して直すという練習が思いのほか実践的でした。コードを書くより読んで修正する方が難しいことがよくわかりました。正解オーバーレイの○×が大きくてわかりやすく、達成感もあります。"

— デバッグ特訓中_yamada

よくある質問

ご不明な点はこちらをご確認ください

Q「実行」ボタンがグレーで押せません。

APyodide(Pythonの実行エンジン)の初期化が完了していない状態です。アプリ起動後、エンジンのロードが完了すると「実行」ボタンが青くなります。初回起動時は少し時間がかかる場合があります。インターネット接続が必要な場合があるためWi-Fi環境でお試しください。
Q実行結果が期待値と違うのに正解と判定されません。

A出力結果と期待値の文字列が完全に一致した場合に正解と判定されます。スペースや改行の有無も判定に含まれます。出力結果の表示を確認し、余分なスペースや改行が入っていないかご確認ください。
Q前回の続きから再開できますか?

Aはい、最後に解いていた問題番号が自動的に保存されます。アプリを再起動すると前回の問題から続けて練習できます。
Q無料で解ける問題は何問ですか?

A無料プランでは最初の20問を解くことができます。21問目以降はプレミアムプランへの登録が必要です。プレミアムに登録すると数百問すべてにアクセスでき、広告も非表示になります。
Qプレミアムプランを解約するにはどうすればいいですか?

AApp Storeのアカウント設定からサブスクリプションを管理・解約できます。「設定」→「Apple ID」→「サブスクリプション」から「Pythonデバッグ道場」を選択して解約手続きを行ってください。現在の請求期間終了の24時間前までにキャンセルすると次回の請求は発生しません。

App Store で入手する

App Store からダウンロード
アプリギャラリー