Pythonプログラミング入門② ~デバッグしてみよう~

2019/06/23
image

前回のレポートでは、IDLE(Python)を使ってコードプログラムを動かしてみました。今回は、このIDLE(Python)を使って作ったプログラムが動かなかった時に、何が原因かを探る方法や修正方法「デバッグ」の仕方をご紹介したいと思います。

① IDLE(Python)を準備・起動しよう!

① デバッグ用のサンプルデータをダウンロードしよう

まずはあらかじめバグのあるサンプルデータを(こちらからダウンロード)をダウンロードしましょう。

任意の場所に保存・解凍し、ファイルを開ける状態にして下さい。

img

② IDLEを起動しよう!

Pythonをまだインストールできていない方は、前回のレポートを参照し、インストールしてください。

[Windows]マークをクリックし[Python3.7]/[IDLE(Python3.7 64bit)]を選択します。

② バグの発生するサンプルファイルを確認しよう!

プログラムをする際、間違ったコードを入力してしまうことがあります。この間違いを「バグ」と呼び、「バグ」を見つけ修正することを「デバック」と言います。

先ほどダウンロードしたファイルには、予め小さな「バグ」があるプログラムコードとなっていますので、まずはIDLEでこのファイルを開きましょう。

img

① メニューから「Open」を選択しよう

IDLEのメニューから「File」→「Open」と選択しましょう。

img

② ダウンロードしたファイルを選択しよう

先ほどこちらからダウンロードしたファイルから、「エラー①.py」を選択し、「開く」をクリックします。

img

③ 実行して結果を確認しよう

ファイルを開いたら、IDLEのメニューから「Run」→「Run Module」を選択し、プログラムを実行します。

img

④ エラーの内容を読み解こう

実行結果のシェルウィンドウを見ると1行目の「○〇〇」は上手く表示されていますが、赤字のエラー文に「line 2, in <module> Print('○○○')、NameError: name 'Print' is not defined」と出ています。

さきほどのソースコードをよく見ると、「print」の1文字目が大文字になっているのがわかります。

③ バグの修復をしてみよう!

img

① 間違いを直して実行してみよう

NameErrorの原因となっている「Print」を小文字に修正し、再度実行してエラー文が出ないかを確認します。赤いエラー文が出なくなれば完了です。

img
img

② 他にも間違いを修正してみよう(1)

同様に、エラー②、エラー③も動かしてみましょう。

実行すると同様にエラー文が出ますので、どこが違うのか修正してみましょう。

【エラー②】
plint('○○○')
※ 「print」が「plint」になってしまっている

【エラー③】
print['○○○']
※ 「( )」が「[ ]」になってしまっている

img

③ 他にも間違いを修正してみよう(2)

同様に「エラー④」を動かしてみてください。
エラー①~③とはエラー文の表示が異なり、「Syntax Error」というウィンドウと、どの行が間違っているか赤いラインが出ます。何が間違っているかわかりますか?

printで出力したい文字括る場合「’」(シングルクォーテーション)でも「“」(ダブルクォーテーション)でもいずれも使用が可能ですが、開始と終了は同じもので揃えなければいけません。

SyntaxErrorとは、こういった「構文エラー」を差します。

img

③ 他にも間違いを修正してみよう(3)

では最後に「エラー⑤」を動かしてみましょう。

どこが違うのかわかりますか?

「(’〇〇〇)」最後のクォーテーションマークが抜けていたからですね!

このように1文字でも違うと動かなくなるというのがコードプログラミングの特徴です。しっかり間違いのないように入力しましょう!

あとがき

いかがでしたでしょうか?

コードプログラムにおけるバグは、どんなに熟練したプログラマーが気を付けても必ず発生するものです。いかにバグを見つけられるか、そのバグを修正できるかがポイントになってきます。

これで今回のレポートを終わります。ありがとうございました。

プロペララボではプログラム入門として[Scratch]の講座もご用意しております!