def GameMode():#creates a function with name of gamemode
global wrong_answer_1
for keys,values in keywords.items():#checks for the right answer
if keys == code:#if the keys equal to the code value
keyword_c = values
global keyword_c
for keys,values in definition.items():#checks for the right answer
if keys == code + 1:#if the keys equal the code add 1
definition_c = values#set s to be the values
for keys,values in definition.items():#checks for the right answer
if inc == keys:#if the keys equal the code add 1
wrong_answer_1 = values#set s to be the values
for keys,value in definition.items():#For the keys in the dictionary
if keys == inc2:#if the keys equal to a value
global wrong_answer_2
wrong_answer_2 = value
print(wrong_answer_2, "Hi")
私は私の変数はkeyword_c、definition_c、wrong_answer_1とwrong_answer_2が、私は別の関数でそれらを使用することができますので、グローバルであることを取得しようとしていますが、私はそれを動作させるように見えることはできません、私はPythonになると少し新鮮です。 私は上記のように "global"を使ってみましたが、変数を呼び出して渡すことを試みましたが、それを理解するのに十分理解していません。 変数はPython 3.5.2
keyword_c = ''
definition_c = ''
wrong_answer_1 = ''
wrong_answer_2 = ''
は、私はすでに、彼らがあるが、その今ちょうど空の文字列は、そう私のプログラムは、変数が定義されているという事実を拾っている、それが何をしたかどうかを確認するために、同様の変数を事前に定義しています。ここ
Traceback (most recent call last):
File "D:\Program.py", line 67, in <module>
GameMode()#calls the function
File "D:\Program.py", line 55, in GameMode
print(wrong_answer_2, "Hi")
NameError: name 'wrong_answer_2' is not defined
私はあなたが変数を持つクラスを作成したくなかったのはなぜ空白文字列
作る変数グローバル「ので、私は別の関数でそれらを使用することができますが、」*ほとんど常に*行うには間違ったことです。代わりに、この関数からそれらを戻し、もう一方の関数に渡します。 –
また、エラーについて質問するときは、常に完全なエラーとトレースバックを投稿してください。 –
ああ、私はそれをする方法を本当に理解していない、あなたは私がそれらを正しく渡す方法を教えてくれますか? – BushellsMaster