Hurdle 3 - Challenge while loop


Line 16 wall_in_front( ),代表前面有牆。 有牆,就跳。 沒有牆,就走。

我在這邊卡住了。 因為提示說,只能使用一個 if 敘述式。 所以,我只寫了一個 if,沒有 else。 在這樣的情況下,有牆會跳,但如果是連續兩個牆,就會撞到了。

def turn_right():
    turn_left()
    turn_left()
    turn_left()
    
def jump():
    turn_left()
    move()
    turn_right()
    move()
    turn_right()
    move()
    turn_left()

while not at_goal():
    if wall_in_front():
        jump()
    else:
        move()

Line 16 front_is_clear( ),代表前面沒有障礙物。 沒有障礙物,就走。 有障礙物,就跳。

def turn_right():
    turn_left()
    turn_left()
    turn_left()
    
def jump():
    turn_left()
    move()
    turn_right()
    move()
    turn_right()
    move()
    turn_left()

while not at_goal():
    if front_is_clear():
        move()
    else:
        jump()