[プログラミング演習 --- 情報基礎演習[全学向] >  よくある質問 ]

よくある質問

ここではプログラムを実行するとき,プログラムを作成するときに発生する典型的な問題とその解決法を示します.

Syntax Errorというウインドウがでてきて,プログラムが実行できません

プログラムに文法エラーがあります. idleのEditorの画面で赤くなっている部分,あるいはその周辺に注目して,間違いを探して,修正してから保存して再度実行してみてください.

プログラムを実行しても期待した通りに動作しません.

idleのShellの画面にメッセージ(エラーメッセージ)が出ていませんか?

Exception in Tkinter callback
Traceback (most recent call last):

:
:

File "test.py", line 10, in draw
mov(100,0)
NameError: name 'mov' is not defined

エラーメッセージの末尾に自分が実行したファイルの名前と行番号が表示されている箇所があるはずです. そこにどんなエラーが見つかったのかが書かれています. それを手がかりにしてプログラムの問題を修正してください. 修正したら保存して再度実行してみてください.

なおエラーが見つかった行に必ずしもエラーがあるとは限りません. 別の行のエラーが原因となって当該の行でエラーが検出されたということも考えられます.

ちなみに上の例は,test.pyというファイル名でタートルグラフィクスのプログラムを作成して実行した場合を想定していて, エラーメッセージでは「test.pyの10行目でmovが未定義である」と指摘されています. タートルグラフィクスの機能を確かめてもらえば,ここでは「mov」ではなく「move」が正しいことが分かるでしょう.

余談ですが,ここでは「mov」が英単語でないからエラーになっているのではありません. 「mov」が定義されていない(定義されていないものは使えない)ことからエラーになっています. Pythonは英語がベースになっていますし, 英単語に基づいた定義が多く見受けられます. しかしPythonは英語ではありません. 英単語ではない「語」も少なからず定義されています.

プログラムが実行できません.「ModuleNotFoundError」というメッセージが表示されます.

「import」の行で指定している名称に間違いがあるか, プログラムを想定されているフォルダとは別の場所に保存していませんか. この演習ではプログラムは「pyturtle.py」というファイルが置いてあるフォルダに保存していることを想定しています.

ExBasicInfo > Programming

プログラムが実行できません.「invalid character in identifier」というメッセージが表示されます.

プログラムで英数字,記号を日本語で入力していませんか.(いわゆる)全角の空白を入れていませんか. 画面に表示するメッセージ以外はすべて英数字モード(いわゆる半角モード)で入力して下さい.

プログラムが実行できません.メッセージに「indent/indented/indentation」などが含まれています.

インデント(行頭からの字下げ)のつけ方が間違っていると考えられます. インデントがついてなかったり,インデントの量(字下げの文字数)が間違ったりしていませんか.

Pythonではインデントによってプログラムの構造が決まります. つまりインデントには意味があります. そこでインデントが不適切な場合,エラーが発生します.

大文字しか入力できません.

大文字だけが入力されるモードがあります. [Shift]+[CapsLock]を押すと,通常のモードと交互に切り替えできます.

ページからファイルをダウンロードする方法が分かりません

Edgeの場合,リンクを右クリックして「名前を付けてリンクを保存」を選択します. その後,適当な場所を選んで保存します. Chromeの場合,リンクを右クリックして「名前を付けてリンク先を保存」を選択して,同様に保存します. Safariの場合,[Control]を押しながらリンクをクリックして「リンク先のファイルをダウンロード」を選択して保存します.

なお必要であれば,ダウンロードしてからファイルを移動させて下さい.

プログラムをブラウザで表示すると文字化けします

プログラムをダウンロードしてEditorで開けば,問題なく読めるはずです. ブラウザで開くと文字コードの問題から文字化けする場合があります.

[プログラミング演習 --- 情報基礎演習[全学向] >  よくある質問 ]