레슨 2: 비교 연산자 사용
이 수업에서는 비교 연산자에 대해 알아보고, 거리 센서의 데이터를 사용하는 프로젝트에서 비교 연산자를 사용하는 방법을 알아봅니다. 그런 다음 거리 센서( while 루프)와 초과(>) 연산자를 사용하여 VR 로봇이 문자 'A'로 이동하는 프로젝트를 만듭니다. 미니 챌린지에서는 이러한 기술을 적용하여 벽 미로의 시작 부분에서 숫자 '1'까지 탐색하게 됩니다.

학습 성과
- 보다 크다(>), 보다 작다(<), 같다(==)는 두 값을 비교하는 비교 연산자(피연산자라고 함)임을 식별합니다.
- 보다 큼(>) 연산자는 두 값을 비교하여 왼쪽 값이 오른쪽 값보다 크면 True로 보고한다는 것을 식별합니다.
- (<) 연산자는 두 값을 비교하여 왼쪽 값이 오른쪽 값보다 작으면 True를 보고한다는 것을 확인합니다.
- while루프에서 조건으로 사용될 때 보다 큼(>) 또는 보다 작음(<) 연산자가 True 또는 False 값을 보고한다는 것을 식별합니다.
- 거리 센서의 값이 특정 양보다 작아질 때까지 VR 로봇이 앞으로 주행하는 프로젝트를 만드는 방법을 설명하세요.
비교 연산자
보다 작음(<), 보다 큼(>), 같음(==) 연산자는 두 값을 비교하는데, 이를 피연산자라고도 합니다. 연산자의 왼쪽에 있는 값은 첫 번째 피연산자이고, 오른쪽에 있는 값은 두 번째 피연산자입니다. 연산자는 부울 값을 보고하고 비교가 올바르면 True 값을 반환하고, 비교않으면 False 값을 반환합니다.
- 이러한 예에서 보다 작음(<) 연산자를 사용하는 경우, 문장이 숫자적으로 올바르면 True를 보고합니다.

- 마찬가지로, 보다 큼(>) 연산자를 사용하는 이러한 예에서 숫자적으로 올바른 문장은 True로 보고됩니다.

- 같음(==) 연산자는 두 값이 정확히 같으면 True를 보고하고, 그렇지 않으면 False를 보고합니다.
- 두 개의 등호 기호는 "같다"는 의미이며 두 값을 비교합니다. 단일 등호는 변수에 값을 할당하는 할당 연산자입니다.
비교 연산자는 소수, 정수 또는 숫자 보고 명령을 비교할 수 있습니다.
거리 센서 데이터와 비교 연산자 사용
비교 연산자는 거리 센서와 같은 센서의 수치 데이터를 사용하여 VR 로봇이 결정을 내릴 때 특히 유용합니다. 이전 단원에서는 범퍼 센서의 데이터를 사용하여 범퍼 센서를 눌렀을 때 VR 로봇이 회전하도록 했습니다. 하지만 비교 연산자를 사용하면 거리 센서의 데이터를 사용하여 VR 로봇이 더 정확한 위치에서 회전하도록 할 수 있습니다. 이 기능은 벽에 부딪히는 것을 피하거나 VR 로봇이 놀이터의 특정 장소로 이동하도록 하는 데 유용합니다.
거리 센서의 데이터는 비교 연산자의 값 중 하나로 사용될 수 있습니다.
front_distance.get_distance(MM) > 50예를 들어, VR 로봇이 벽과 같은 물체를 향해 주행하다가 물체에 가까워지면 멈추게 하려면 비교 연산자와 get _distance 함수를 사용하면 됩니다. 기본적으로, 우리는 VR 로봇과 물체 사이의 거리가 임계값(예: 50밀리미터(mm))보다 큰 동안 운전하도록 요청하고 있습니다.
거리 센서가 50밀리미터(mm)보다더 멀리 있다고 보고하거나, 값이(>)50보다 크다고 보고하는 경우 VR 로봇은 자유롭게 주행할 수 있습니다. 거리 센서가 50밀리미터(mm)에가깝다고 보고하거나 값이보다않다고 보고VR은 벽에 충돌하기 전에 멈추거나>해야 합니다.
귀하의 정보를 위해
어떤 비교 연산자를 사용할지는 문체적 선택이 될 수 있습니다. 위의 예에서는 프로젝트를 가능한 한 명확하고 읽기 쉽게 만들기 위해 보다 큼(>) 연산자가 사용되었습니다. VR 로봇과의 거리가 50mm 이상인 경우 앞으로 주행하세요. 연산자에서 값의 순서를 반대로 바꾸고 (<) 연산자를 사용하면 같은 목표를 달성할 수 있습니다.
50 > front_distance.get_distance(MM):이 경우 VR 로봇은 거리 센서가 보고한 값보다 50mm 더 큰 거리에서 주행하게 됩니다. VR 로봇도 동일한 동작을 수행하지만, 프로젝트가 약간 덜 명확하고 읽기 쉽습니다.
사용하는 센서 데이터에 따라 등호(==) 연산자를 사용해도 VR 로봇이 의도한 대로 작동하지 않을 수 있습니다. 예를 들어, VR 로봇을 물체로부터 50mm 떨어진 곳에 멈추게 하는 것이 목표라면, 등호(==) 연산자를 사용하면 될 것 같습니다.
front_distance.get_distance(MM) == 50인 경우:그러나 예를 들어 벽 미로에서 거리 센서와 함께 (==) 연산자를 사용하려면 센서에서x50mm의 정확한 값을 읽어야 하므로 VR 로봇의 속도로 인해 실시간으로 그 수준의 정밀도를 얻는 것이 거의 불가능합니다. 따라서 VR 로봇은 100mm 또는 25mm의 값을 보고하더라도 과,같지 않기 때문에 임계값을 넘어 계속 운전할 가능성이 높습니다. 따라서 운영자는 결코 참으로 보고하지 않습니다.
비교 연산자와 벽 미로 문제
while 루프는 비교 연산자 및 거리 센서와 함께 사용할 수 있습니다. 이를 통해 VR 로봇은 지속적으로 센서 데이터를 확인하고 비교를 평가합니다. 이를 통해 VR 로봇은 값이 특정 임계값보다 높거나 낮을 때 동작을 수행하고 값이 특정 임계값보다 높거나 낮을 때 동작을 수행할 수 있습니다. 벽 미로는 벽에서 밀리미터mm) 있는 것입니다. 그러면 미로를 계속 통과하기 위해 멈추거나 방향을 바꿔야 합니다.
def main():
while front_distance.get_distance(MM) > 50:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()이 비디오 클립 예시에서 왼쪽에 표시된 프로젝트의 while루프는 조건이 충족되고 VR 로봇과 가장 가까운 물체(반대편 첫 번째 벽) 사이의 거리가 50밀리미터(mm)보다 큰 것으로 보고되는 한 VR 로봇이 시작 위치에서 계속 앞으로 주행하도록 합니다. 로봇은 첫 번째 벽에 접근하고 보고된 거리가 50mm 미만이면 멈춥니다.
이 이미지는 위 프로젝트의 흐름을 설명합니다.
- 거리 센서가 벽으로부터 50밀리미터(mm) 이상 떨어져 있는 경우 작업자는 True를 보고하고 while 루프에 머물러 있습니다.
- 벽으로부터 50밀리미터(mm) 이내일 경우, 작업자는 False를 보고하고while루프를 종료합니다.

이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.