私は、次のエラーを取得しています:無制限ローカルエラーのPython
Traceback (most recent call last):
File "prpR.py", line 48, in <module>
main()
File "prpR.py", line 39, in main
d=drop()
UnboundLocalError: local variable 'drop' referenced.
ドロップの範囲(とは何かである)という点で、私はすべての主要な()ドロップが()点においてのみ存在する場合範囲。私はrain_dropsの配列を埋めるためにグローバル変数を使いこなそうとしましたが、このエラーが出るようには見えません。また、スタイルのコメントは非常に高く評価されるだろう。コードは以下のとおりです。
from graphics import *
from random import randint
#(137,43,226)
#(229,230,250) -BG
#d=None
class drop:
dc = color_rgb(136,43,226)
win=GraphWin("Purple Rain-Prince", 498, 500, autoflush=False)
win.setBackground(color_rgb(228,230,250))
win.setCoords(0,0,1000,1000)
lwr=6 #length to width ratio length:width
def __init__(self):
x= randint(0,1000)
self.diff=randint(-1,10)
y=randint(0,1000)
p1= Point(x, y)
p2=Point(x+self.diff,y+drop.lwr*self.diff)
self.r=Rectangle(p-1, p2)
self.r.setFill(color_rgb(136,43,226))
self.r.draw(drop.win)
def reset(self):
x= randint(0,1000)
self.diff=randint(1,20)
y=998
p1= Point(x, y)
p0=Point(x+self.diff,y+drop.lwr*self.diff)
self.r.undraw()
self.r=Rectangle(p1, p2)
self.r.setFill(color_rgb(136,43,226))
self.r.draw(drop.win)
def fall(self):
self.r.move(0,-self.diff)
if self.r.getP0().getY()<5:
self.reset()
def main():
d=drop()
rain_drops=[drop() for i in range(38)]
while(drop.win.checkMouse()==None):
for drop in rain_drops:
drop.fall()
update(28)
drop.win.close()
main()
ありがとうございました!幸せな休日を! –