我一直遇到由於嵌套If語句無法正常工作而導致的運行時錯誤。對JES不太瞭解,所以我爲什麼要伸出援手。基本上,(見下文源代碼),我下一頁末(用於W的功能randrange產生新的XY coords)使用和newY如果超過599或以下,然後設置VAR回到0嗯,我看到
JES,嵌套if語句不能正常工作
getPixel(picture,x,y):y(= -22)小於0或大於高度 (= 599) 錯誤值爲: 不正確的參數值(正確類型)。 嘗試將參數傳遞給函數時發生錯誤。 請檢查e行39:\ DOX \硬件\ INF 120 \ e_Project5.py
from random import *
def main():
#draw
pic = makeEmptyPicture(600, 600, white)
show(pic)
#for the 4 boxes
boxCount = 0
#while statement to draw
while boxCount < 4:
addRectFilled(pic, randrange(0,576), randrange(0,576), 25, 25, red)
addArcFilled(pic, randrange(0,576), randrange(0,576), 10, 10, 0, 360, blue)
boxCount = boxCount + 1
repaint(pic)
newX = 0
newY = 0
oldX = 0
oldY = 0
robotcount = 0
finished = 0
safe = 0
triggered = 0
while robotcount < 750 or finished != 1 or safe != 1 or triggered != 1:
oldX = newX
oldY = newY
newX = newX + randrange(-25, 26)
newY = newY + randrange(-25, 26)
if newX > 599 or newX < 0:
newX = 0
elif newY > 599 or newY < 0:
newY = 0
px = getPixel(pic, newX, newY)
color = getColor(px)
if color == red:
triggered = 1
printNow("trig")
elif color == blue:
safe = 1
printNow("safe")
elif robotcount == 750:
finished = 1
printNow("Fin")
addLine(pic, oldX, oldY, newX, newY, black)
robotcount = robotcount + 1
'triggered = 1'不會在您發佈的代碼中縮進,在'if color == red'下。在stackoverflow上的格式錯誤 – roganjosh
,它在本地縮進。 – ohGosh