Python バージョン: 2.7.5 では、Zelle の Graphics がインストールされていますが、関数内の非グローバル名を別の関数で編集しようとしているため、どうすればよいかわかりません。これが私のコードの例です。
from graphics import *
import time
keyPad=GraphWin("Key Pad",300,400)
def Game():
Buttons()
testFor_keyPad_press()
def Buttons():
button1=Rectangle(Point(1,1),Point(100,100))
button1.setFill('gold')
button.draw(keyPad)
def testFor_keyPad_press():
userInput=keyPad.getMouse()
userInputX=str(userInput.getX())
userInputY=str(userInput.getY())
if(userInputX<101 and userInputY<100):
button1.setFill('grey')
keyPad.update()
time.sleep(0.5)
button1.setFill('gold')
keyPad.update()
Game()
私はそれがうまくいくはずだと思っていましたが、グローバル名 'button1' が定義されていないというエラーが表示されます... ユーザー定義関数 "Buttons()" 内で button1 を編集する方法はありますか? それともそれは不可能ですか?これを行う方法があるかどうか教えてください...すべての助けは