結論:プログラミングの質問は、目的・期待した結果・実際の結果・再現手順・試したことを分けて書くと、相手が状況を確認しやすくなります。

  • 「動きません」だけで送らず、どの操作で何が起きたかを具体的にする。
  • コードとエラーは、秘密情報を除いたテキストで共有する。
  • 原因が分からなくても質問してよい。分からない範囲と、教えてほしい一点を示す。

独学やスクールでエラーに止まり、質問を書こうとしても何を伝えればよいか迷う初心者向けの記事です。質問文を整えるのは、知識を完璧にしてから相談するためではありません。相手と同じ問題を見られるようにするためです。

日々の記録全体を整理したい場合は学習記録の6項目テンプレートを参照してください。この記事では、その記録から助けを求める一件の質問を作る方法に絞ります。

質問に必要なのは、原因の断定ではなく5つの情報

「初心者です。全部教えてください」では、どこから支援すればよいか相手が判断できません。一方、詳しい専門用語を無理に使う必要もありません。自分が確認できた事実を順番に書きます。

質問する内容と、書くときの確認点
項目書く内容避けたい書き方
1 目的何を作り、どの処理を実現したいか教材のページ番号だけで説明する
2 期待と実際期待した表示と、実際の表示・エラー全文「変です」「同じエラーです」だけ
3 環境・手順言語やツールのバージョン、操作と入力環境を推測で記入する
4 試行と結果何を参考に何を変え、その結果どうなったか「いろいろ調べました」だけ
5 聞きたい点原因を絞る次の確認、仕様の理解など一つの依頼関係のない問題をまとめて質問する

この5項目は編集部の整理です。相談先に指定の質問フォームがある場合は、その項目を優先してください。エラーがないのに期待と違う動作になる場合も、入力と出力を並べれば質問できます。

図1:相手と同じ問題を見るための順序
  1. 目的 → 何を実現したい?
  2. 差 → 期待と実際はどこが違う?
  3. 再現 → どの環境・入力・操作で起きる?
  4. 依頼 → 次に何を確認したい?
編集部作成。原因の推測より先に、確認した事実と質問の範囲を共有します。

そのまま埋められる質問テンプレート

件名:[言語・ツール]で[操作]すると[現象]になる

目的:[実現したい処理]
期待した結果:[入力に対して期待する出力]
実際の結果:[出力/秘密情報を除いたエラー全文]
環境:[確認できたOS・言語・ツールのバージョン]
再現手順:[1.起動方法 2.入力 3.操作]
必要なコード:[同じ問題が起きる小さな例]
試したこと:[参考資料/変更点/結果]
未確認:[まだ試していない条件]
聞きたいこと:[次に確認すべき点を教えてほしい、など]

悪い例から、確認できる質問へ直す

以下は説明用の架空例で、実際の相談体験ではありません。「Pythonが動きません。どうすればいいですか」という質問を、次のように具体化できます。

件名:Pythonで年齢の入力値に1を足すとTypeErrorになる

  • 目的:入力した年齢に1を足して表示したい。
  • 期待:20と入力すると21と表示される。
  • 実際:下記コードでTypeErrorが出る。実際の質問には、表示されたエラー全文を添える。
  • 再現:このコードを実行し、20を入力する。
  • 試行:引用符を付けた「1」に変えたら201と表示され、期待と違った。
  • 依頼:入力値の型を確かめる方法と、数値として加算するために何を理解すべきか知りたい。
age = input("年齢: ")
print(age + 1)

Python公式の組込み関数の説明では、input()は読み取った行を文字列として返します。そのため上の例では、文字列と整数をそのまま足そうとしている点が確認対象です。Python公式:input()。型を理解せずコードを置き換えるだけでは、次の入力条件で再び困ることがあります。

実際に試していない内容を、この例文に合わせて記入しないでください。バージョンやエラー全文が分からないなら「未確認」として、取得方法そのものを質問して構いません。

再現例は「短い」だけでなく、同じ問題が起きることが大切

Stack Overflowの公式ヘルプは、質問で共有する例に、問題に必要な小ささ・再現に必要な情報・同じ問題を再現できることを求めています。コードは画像だけでなくテキストで示すと、相手が試しやすくなります。Stack Overflow公式:再現可能な最小の例

最初から上手に削れなくても大丈夫です。元のファイルを壊さないよう学習用のコピーを作り、無関係な処理を少しずつ外します。外した後に問題が消えたら、その部分を戻して確認します。削ることで別のエラーになった例を、元の問題の再現例として送らないようにします。

  • 外部ファイルが必要なら、秘密を含まない小さなサンプルと読み込み手順を添える。
  • エラー全文は文言を勝手に要約せず、秘密情報に当たる箇所だけ伏せ、その旨を書く。
  • 見た目の崩れなら画面画像を補助に使い、コード・画面幅・操作手順も添える。
  • AIで質問文を整えた場合も、コード・環境・試行結果を本人が確認する。

相談先は、公開できる情報と質問の範囲で選ぶ

整理して質問するメリットは、追加で聞き返される情報を先に揃えられることです。一方、再現例の作成には時間がかかり、公開サービスでは回答が必ず付くわけではありません。相談文を完璧にすることに時間を使いすぎないよう、まず分かった範囲を共有しましょう。

図2:質問を送る前の相談先判断
勤務先・顧客・秘密情報が含まれる?
はい/不明 → 公開せず、許可された社内窓口へ
いいえ ↓
受講中の教材・課題の質問?
はい → 講師へ。利用規約と質問対象・時間を確認
いいえ ↓
公開可能な小さな再現例がある?
はい → 公開コミュニティのルールに合わせて相談
いいえ → 個別相談で再現例の作り方から聞く
編集部作成。公開範囲を先に判断し、回答者へ渡してよい資料だけを選びます。

公開質問が向かないケース

勤務先のコード、顧客情報、パスワード・APIキーを含む問題は、公開の質問サイトへそのまま投稿しません。教材のコードや課題も、公開可能とは限りません。規約や指示を確かめ、不明なら講師へ相談してください。すでに秘密情報を公開した場合は、文章を消すだけで安全と判断せず、管理者や発行元へ連絡して必要な対応を確認します。

スクールを選ぶ段階では「質問できる」という一言だけで決めず、対象内容、回答方法、受付時間、回数や期間を確認します。サービスの比較基準はスクール比較10項目で整理しています。質問文の書き方と、支援サービスの選び方は別の判断です。

回答を受けたら、試した結果と未解決点を返す

提案を一つずつ試し、どの変更で結果が変わったかを確認します。「直りました」だけでなく、変更点・試した入力・残る問題を返すと、やり取りを整理できます。回答のコードをそのまま成果物に貼る前に、意味と利用条件も確かめましょう。

送信前のチェックリスト

  • 目的と、期待・実際の差を別々に書いた。
  • 環境と再現手順は確認した事実だけを書いた。
  • 試したことと結果、未確認を区別した。
  • 秘密情報・教材の公開可否・相談先のルールを確認した。
  • 一番聞きたい点を一つに絞った。

まとめ:今困っている一件を、事実と依頼に分ける

  • 原因を特定できなくても、確認した事実で相談できる。
  • コード・エラー・再現手順を揃え、画像だけに頼らない。
  • 公開できない資料は持ち出さず、許可された窓口を使う。
  • 回答後の試行結果を学習記録へ戻し、同じ問題の振り返りに使う。

まず現在の問題を一つ選び、テンプレートの「目的」「期待」「実際」だけ埋めてみてください。書けない項目は、何が分からないかを次の質問にします。

最終確認日:2026年10月8日。技術情報は上記公式資料を参照。5項目、相談先フロー、質問テンプレートは編集部の提案です。