2과: If Else 문
이 수업에서는 VR 로봇이 Dynamic Castle Crasher Playground에서 최소 두 개의 성을 무너뜨리는 프로젝트를 만들 것입니다. 놀이터 레이아웃은 재설정할 때마다 변경되므로 루프와 센서 피드백을 사용하여 과제를 해결하려면 알고리즘이 필요합니다.
Dynamic Castle Crasher Playground 레이아웃의 예:

학습 성과
- if else문은 보고된 부울 값에 따라 'if' 또는 'else' 분기 내의 명령을 실행합니다.
- if else 문은 일반적으로 for 루프나 무한 while루프와 함께 사용되어 조건을 두 번 이상 확인하는 데 사용된다는 것을 알아보세요.
- 루프에서 if else문이 사용되는 이유를 식별하고 설명하세요.
- if else문이 있는 프로젝트에서 'if' 분기나 'else' 분기가 실행되게 하는 원인을 설명하세요.
왜 If Else 문을 사용하나요?
Dynamic Castle Crasher 챌린지는 Unit 2의 Castle Crasher 챌린지와 다릅니다. 2단원 과제에서는 간단한 시퀀싱과 드라이브트레인 명령을 사용하여 정적 놀이터에서 성을 무너뜨렸습니다.
def main():
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.drive_for(전진, 1550, MM)
drivetrain.turn_for(우회전, 180, 도)
drivetrain.drive_for(전진, 700, MM)
drivetrain.turn_for(우회전, 90, 도)그러나 Dynamic Castle Crasher Playground의 레이아웃이 변경되기 때문에Drivetrain 명령만으로는 VR 로봇이 두 개 이상의 성을 무너뜨리기에 충분하지 않습니다. 드라이브트레인 명령 세트는 한 플레이그라운드에서는 작동하지만 다른 플레이그라운드에서는 작동하지 않을 수 있습니다. 센서와 선택을 반복에 활용하는 알고리즘이 필요합니다. if else문은 이 프로젝트에 조건문이 있는 선택을 추가하여 알고리즘을 만드는 데 사용됩니다.

If Else 문
if else 문은 부울 조건을 허용하는 문입니다. if else문은 프로젝트의 흐름을 제어하는 조건문입니다. if else문은 특정 명령 시퀀스를 실행합니다if 조건이 충족되면, else(조건이 충족되지 않으면 ) 다른 명령 세트가 실행되어 프로젝트 흐름이 '분기'됩니다. 한 번에 if else의 분기는 하나만 실행됩니다.
if 조건:
통과
else:
통과- 조건이 True로 보고되면 'if' 분기 내의 명령이 실행됩니다.
- 조건이 False로 보고되면 'else' 분기 내부의 명령이 실행됩니다.
- 한 브랜치 내부의 모든 명령이 실행되면 프로젝트는if else문 외부의 다음 명령으로 이동합니다.
여러분은 일상생활에서 종종if else논리를 사용하곤 합니다. 예를 들어, 집 밖으로 나갈 때 무엇을 가져가야 할지 결정할 때, 바깥 날씨에 따라if else논리를 사용할 수 있습니다. 비가 오면 우산을 가져가세요. 비가 오지 않으면선글라스를 가져가세요.
'만약' 분기 -
- 이 시나리오에서는 '비가 온다'라는 조건이 충족되므로 'if'분기가 실행되고 우산을 가져갑니다.

'Else' 브랜치 -
- 이 시나리오에서 '비가 온다'라는 조건은 이 아닌 이므로 'else' 분기가 실행되고 선글라스를 가져가게 됩니다.

If Else 문과 동적 캐슬 크래셔 문제
VR 로봇이 Dynamic Castle Crasher Playground에서 성을 성공적으로 무너뜨리려면 두 가지 주요 단계가 있습니다. 기본적으로 VR 로봇은 놀이터에서 성을 찾아 감지하고, 이를 운전해 넘어뜨릴 수 있어야 합니다. if else문의 관점에서 이는 다음과 같이 표현될 수 있습니다.
- VR 로봇이 성을 감지하면, 성을 향해 전진하여 성 쓰러뜨리세요.

- 그렇지 않으면,(VR 로봇이 성을 감지하지 못할 경우), 돌아서서 놀이터의 다른 위치에 성이 있는지 확인하세요.

VR 로봇의 거리 센서를 사용하여 이 놀이터의 성을 감지할 수 있습니다.다른 모든 놀이터와 달리 Dynamic Castle Crasher 놀이터 에는 벽이 없습니다. 성은 Dynamic Castle Crasher Playground에 있는 유일한 물체이기 때문에 거리 센서가 물체를 감지하면 그 물체는 성이 됩니다. VR 로봇은 거리 센서의 상태를 반복적으로 확인해야 합니다. 이 두 가지 기본 단계완료되면 VR 로봇은 뒤로 돌아가 거리 센서를 사용하여 다음에 무너뜨릴 성을 찾을 수 있습니다.
If Else 문장을 사용한 프로젝트 계획
- 새 프로젝트를 시작하고 메시지가 표시되면 Dynamic Castle Crasher Playground선택합니다.

- 프로젝트 이름을 Unit9Lesson2로 지정하세요.

-
위에서 식별된 단계에 따라 프로젝트의 의도를 설명하는 주석을 작업 공간에 추가합니다. 첫 번째 주석은 if else문의 조건을 설명하고, 다음 두 주석은 if else문의 각 분기의 동작을 설명합니다. Python 주석은 # (파운드) 기호로 시작한다는 것을 기억하세요. 프로젝트는 다음과 같아야 합니다.
def main(): # 거리 센서가 성을 감지했나요? # 거리 센서로 감지된 충돌성 # 거리 센서를 사용하여 성을 찾으려면 돌아서세요 -
if else 명령문을 사용하면 위에 설명된 각 동작을 트리거할 수 있습니다. 각 동작은 if else문의 부울 조건이 True 또는 False로 보고되는지 여부에 따라 달라집니다. 주석 뒤에 if else문장을 추가합니다. 이제 프로젝트는 다음과 같이 보일 것입니다.
def main(): # 거리 센서가 성을 감지했나요? # 거리 센서로 감지된 충돌 성 # 거리 센서를 사용하여 성을 찾으려면 돌아서세요 if condition: pass else: pass -
if else 문의 각 분기는 주석을 사용하여 정의할 수 있습니다. 거리 센서을 감지하면 VR 로봇은 성을 무너위해 주행해야 합니다. 성을 감지하기 위해 방향을 바꿔야. 프로젝트의 if 및 else 분기를 연관된 작업을 설명하는 주석에 맞게 이동합니다. 이제 프로젝트는 다음과 같이 보일 것입니다.
def main(): # 거리 센서가 성을 감지했나요? if condition: # 거리 센서에 의해 감지된 충돌성 패스 else: # 거리 센서를 사용하여 성을 찾기 위해 돌아서기 패스
이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.