I am having various issues with a Python assignment for class. The code I have is below but I am having trouble between the two comment lines
<Below this line, in what way does your code behave incorrectly? Include ALL error messages.>
The error was: 19
Sequence index out of range.
The index you’re using goes beyond the size of that data (too low or high). For instance, maybe you tried to access OurArray[10] and OurArray only has 5 elements in it.
Please check line 90
The error value is: ‘int’ object is unsubscriptable
Inappropriate argument type.
An attempt was made to call a function with a parameter of an invalid type. This means that you did something such as trying to pass a string to a method that is expecting an integer.
Please check line 93
import random,time
def INT(N):
return int(round(N))
def addCircle(Canvas,Xc,Yc,R,NewColor=black):
Diameter = INT(2*R+1)
addOval(Canvas,INT(Xc-R),INT(Yc-R),Diameter,Diameter,NewColor)
return
def addCircleFilled(Canvas,Xc,Yc,R,NewColor=black):
Diameter = INT(2*R+1)
addOvalFilled(Canvas,INT(Xc-R),INT(Yc-R),Diameter,Diameter,NewColor)
return
def Circles(Canvas,Xc,Yc,R,FillColor=white,EdgeColor=black):
addCircleFilled(Canvas,Xc,Yc,R,FillColor)
addCircle(Canvas,Xc,Yc,R,EdgeColor)
return
def addEllipse(Canvas,Xc,Yc,Xr,Yr,NewColor=black):
addOval(Canvas,INT(Xc-Xr),INT(Yc-Yr),INT(2Xr+1),INT(2Yr+1),NewColor)
return
def addEllipseFilled(Canvas,Xc,Yc,Xr,Yr,NewColor=black):
addOvalFilled(Canvas,INT(Xc-Xr),INT(Yc-Yr),INT(2Xr+1),INT(2Yr+1),NewColor)
return
def Ellipses(Canvas,Xc,Yc,Xr,Yr,FillColor=white,EdgeColor=black):
addEllipseFilled(Canvas,Xc,Yc,Xr,Yr,FillColor)
addEllipse(Canvas,Xc,Yc,Xr,Yr,EdgeColor)
return
def Line (Canvas,X1,Y1,X2,Y2,NewColor=black):
addLine(Canvas,INT(X1),INT(Y1),INT(X2),INT(Y2),NewColor)
return
def FishLeft (Canvas,Xc,Yc,NewColor,Scale=1.0):
def F(N):
return N*Scale
Ellipses(Canvas,Xc+F(14),Yc,F(3),F(14),white, black) # Tail
Ellipses(Canvas,Xc,Yc,F(17),F(9),NewColor,black) # Body
Circles(Canvas,Xc-F(10),Yc-F(2),F(3),white, black) # Eye
Line(Canvas,Xc-F(15),Yc+F(4),Xc-F(7),Yc+F(4),white) # Mouth
Line(Canvas,Xc-F(5),Yc+F(6),Xc-F(5),Yc-F(6),white) # Gill
return
def FishRight (Canvas,Xc,Yc,NewColor,Scale=1.0):
def F(N):
return N*Scale
Ellipses(Canvas,Xc-F(14),Yc,F(3),F(14),white, black) # Tail
Ellipses(Canvas,Xc,Yc,F(17),F(9),NewColor, black) # Body
Circles(Canvas,Xc+F(10),Yc-F(2),F(3),white, black) # Eye
Line(Canvas,Xc+F(15),Yc+F(4),Xc+F(7),Yc+F(4),white) # Mouth
Line(Canvas,Xc+F(5),Yc+F(6),Xc+F(5),Yc-F(6),white) # Gill
return
#HELP
def FishTank(Canvas, TotalFish=20):
scale = [0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0]
paint = [black,blue, green, cyan, red, magenta, yellow]
X=
for f in range(TotalFish):
X = X + [getWidth(Canvas)/2 + random.randint(-25,26)]
Y=
for f in range(TotalFish):
Y = Y + [getHeight(Canvas)/2 + random.randint(-25,26)]
Xdirection=
for f in range(TotalFish):
Xdirection= Xdirection + [random.randint(-1,2)]
Ydirection=
for f in range(TotalFish):
Ydirection= Ydirection + [random.randint(-1,2)]
Colors=
for f in range(TotalFish):
Colors= Colors + [random.choice(paint)]
Scale=
for f in range(TotalFish):
Scale= Scale + [random.choice(scale)]
while (True):
B = makeColor(0,0,128)
setAllPixelsToAColor(Canvas,B)
addText(Canvas,10,10,“name”, white)
for X in range(TotalFish):
if (Xdirection[f] == -1):
FishLeft(Canvas,X[f],Y[f],Colors[f],Scale[f])
else:
FishRight(Canvas,X[f],Y[f],Colors[f],Scale[f])
X[f] = X[f] + Xdirection[f]
Y[f] = Y[f] + Ydirection[f]
if (X[f] > getWidth(Canvas)- 34): Xdirection[f]= -abs(Xdirection[f])
elif (X[f] <= 0):Xdirection[f]= abs(Xdirection[f])
if (Y[f] > getHeight(Canvas)- 28): Ydirection[f]= -abs(Ydirection[f])
elif (Y[f] <= 0):Ydirection[f]= abs(Ydirection[f])
if (random.randrange(0,10) == 0):
Xdirection[f] = random.randrange(-1,2)
if (random.randrange(0,20) == 0):
Ydirection[f] = random.randrange(-1,2)
repaint(Canvas)
time.sleep(0.05)
return
#HELP
def Run():
TotalFish = requestIntegerInRange(“Enter Number of Fish”, 1, 1000)
FishTank(makeEmptyPicture(640,480), TotalFish)
return
<do not remove the three backticks above>