ich die folgende Störung erhalte:Unbounded Lokale Fehler 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.
Es ist etwas, mit dem Umfang des Tropfens() in das zu tun, wenn ich alle main() der Tropfen() nur dadurch, dass existiert Umfang. Ich habe versucht, mit einer globalen Variable herumzualbern, um das rain_drops-Array zu füllen, aber ich kann nicht scheinen, dass dieser Fehler verschwindet. Auch Stil Kommentare würden sehr geschätzt werden. Code ist unten.
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()
Vielen Dank! Schöne Ferien! –