주의사항
해당 문서는 중요 변경 작업 중에 있습니다. 일부 문서에 텍스트가 빠져있거나, 불어로 플레이스홀더(placeholder) 자리차지만 되어 있을 수 있습니다.
프로그램을 작성하는 것을 배우는 것이 재미있을지 모르지만, 컴퓨터 앞에서 많은 시간을 보내고 싶지는 않을 것입니다. if, 만약 비가 내린다면, 책을 읽고, 그렇지 않다면 밖으로 나가서 노세요! 예 심지어 할아버지도 말입니다.
윗 문장을 if 만약을 갖는 문장으로 다시 작성합니다:
if 만약 비가 내린다면,
책을 계속 읽고,
그렇지 않다면,
밖으로 나서 나가서 논다.
상기 문장이 파이썬이라면, 대신 다음과 같이 작성할 수 있다:
if it_rains():
keep_reading()
else:
go_outside_and_play()
넵, 파이썬에는 키워드 else``로, 하나 이상 가능성을 포함할 수 있다. 이것을 사용하는 다른 예제를 살펴보자. 리보그가 본인 앞에 바로 벽이 있는지를 알 수 있다. **Around1** 세상을 생각해보자. 새로운 조건 ``front_is_clear()``을 사용해서 리보그 앞에 벽이 있는지 없는지를 판단할 수 있고, ``if/else 짝을 함께 사용해서 세상을 돌아다니는데 리보그를 안내하는 프로그램을 작성할 수 있따. 코드는 다음과 같다:
def move_or_turn ():
if front_is_clear():
# 무언가 수행한다.
else:
# 다른 무언가 수행한다.
repeat 40:
move_or_turn()
시도해 보기!
상기 코드를 사용하는 프로그램을 작성해서 리보그가 Around 1 세상을 돌아다니게 한다. 이것을 작성한 다음에, (한줄 추가해서) 프로그램을 변형해서 리보그가 각 코너에 토큰을 놓도록 한다.
힌트
def turn_or_move():
if front_is_clear():
move()
else:
turn_left()
put()
repeat 40:
turn_or_move()
def 와 if 문을 코드 덩어리를 삽입하는 것과 (때때로) 동치되는 것으로 것으로 봤다; 예외가 if 문 조건이 거짓(False) 일 경운데, 이런 경우 코드 덩어리가 무시되어서 삭제하는 것과 동치가 된다. 따라서, if/else 문장은 한 코드 덩어리 혹은 다른 코드 덩어리를 경우에 따라서 삽입하는 것으로 볼 수 있다. 따라서,
move()
if True:
turn_right()
else:
turn_left()
move()
상기 코드는 다음에 상응한다.
move()
turn_right()
move()
반면에,
move()
if False:
turn_right()
else:
turn_left()
move()
상기 코드는 다음에 상응한다.
move()
turn_left()
move()
상기 내용을 다음과 같은 순서도로 표현할 수 있다: