2011-06-22 17 views
-1

私はトリプルこのPythonモジュールステートメントに構文をチェックして、それが動作していない...このモジュールに問題がありますか?

correct = 0 
ahtriggercount = 0 

def IsCorrect(): 
    #Increase correct count. 
    correct = correct + 1 
    #Lower autohelp trigger count. 
    if ahtriggercount > 0: 
     ahtriggercount = ahtriggercount - 1 

一般的な「構文エラーは、」(それ以上の情報は、IDEによって与えられていないされている)でスローされます...

if ahtriggercount > 0: 

何が間違っていますか?なぜahtriggercount変数にアクセスできないのですか?

+7

エラーは何ですか? – tMC

+2

ヘルプが必要な場合は、常にエラーを含めてください。それでもエラーを読むと、おそらく問題が何であるかを教えてくれるでしょう。 –

答えて

3

グローバル変数にアクセスしていることをPythonに伝える必要があります。このように:

correct = 0 
ahtriggercount = 0 

def IsCorrect(): 
    global correct, ahtriggercount 
    #Increase correct count. 
    correct = correct + 1 
    #Lower autohelp trigger count. 
    if ahtriggercount > 0: 
     ahtriggercount = ahtriggercount - 1 

グローバル変数は読み取り専用ですデフォルトでは、あなたがグローバル宣言を使用しない限り。

また、空白の問題がありました。 1つの行にいくつか不思議なスペースがありました。スペースを削除してもう一度追加すると、IndentationErrorが止まりました。

+0

ダイスはまだありません。私たちは変数を記述した通りにグローバルに宣言しましたが、それでも同じ構文エラーが発生しています。 Ehhhhhhh ??? – CodeMouse92

+3

構文エラーとは何ですか? – jterrace

+0

「無効な構文」というだけで、それ以上のデータはありません。スタンドアロンモジュールの先頭に変数を宣言することも可能ですか? – CodeMouse92

2

ahtriggercountを宣言し、その値を変更するためにグローバルとして修正する必要があります。

def IsCorrect(): 
    global ahtriggercount, correct 
    #Increase correct count. 
    correct = correct + 1 
    #Lower autohelp trigger count. 
    if ahtriggercount > 0: 
     ahtriggercount = ahtriggercount - 1 
0

私たちは推測できるエラーメッセージを知らずに。しかし、スニペットは構文的に正しいと思われます。スペースとタブを混在させたり、スペースやタブを1行で忘れたりしたのでしょうか?右インデントはPythonでは非常に重要です。

関連する問題