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 に関しては初心者です。上記のように「グローバル」を使用してみました。変数を呼び出して渡してみましたが、理解できるほど十分に理解していません。
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
これは、空白文字列として設定する元の行を削除すると発生するエラーです