Lección 2: Uso de operadores de comparación
En esta lección, aprenderá sobre los operadores de comparación y su uso en un proyecto con datos del sensor de distancia. Luego, creará un proyecto que navegue el robot VR hasta la letra 'A' usando el sensor de distancia con bucles mientras y el operador mayor que (>). En el mini-reto, aplicarás estas habilidades para navegar desde el comienzo del laberinto de la pared hasta el número '1'.

Resultados de aprendizaje
- Identifica que mayor que (>), menor que (<) e igual a (==) son operadores de comparación que comparan dos valores, conocidos como operandos.
- Identifique que el operador mayor que (>) compara dos valores e informa Verdadero si el valor izquierdo es mayor que el valor derecho.
- Identifique que el operador menor que (<) compara dos valores e informa Verdadero si el valor izquierdo es menor que el valor derecho.
- Identifique que los operadores mayor que (>) o menor que (<) informan un valor Verdadero o Falso cuando se usan como condición en un bucle while .
- Describa cómo crear un proyecto que tenga un impulso de robot de realidad virtual hasta que el valor del sensor de distancia sea inferior a una cierta cantidad.
Operadores de comparación
Los operadores menor que (<), mayor que (>) e igual a (==) comparan dos valores, también conocidos como operandos. El valor a la izquierda del operador es el primer operando, y el valor a la derecha es el segundo operando. Los operadores informan valores booleanos y devuelven un valor verdadero cuando la comparación es correcta y falso cuando la comparación NO es correcta.
- En estos ejemplos que utilizan el operador less than (<), cuando el enunciado es numéricamente correcto, informará True.

- De manera similar, en estos ejemplos que usan el operador mayor que (>), la instrucción numéricamente correcta informará Verdadero.

- El operador igual a (==) informa verdadero cuando los dos valores son exactamente iguales y falso cuando no lo son.
- Tenga en cuenta que el signo de doble igual significa "igual a" y compara los dos valores. Un signo único igual es un operador de asignación que asigna un valor a una variable.
Los operadores de comparación pueden comparar decimales, enteros o comandos de informes numéricos.
Uso de operadores de comparación con datos de sensores de distancia
Los operadores de comparación son particularmente útiles cuando se utilizan datos numéricos de un sensor, como el sensor de distancia, para que el robot VR tome una decisión. En la unidad anterior, los datos del sensor de parachoques se utilizaron para hacer girar el robot VR cuando se pulsó el sensor de parachoques. Sin embargo, con un operador de comparación, podemos utilizar los datos del sensor de distancia para hacer que el robot VR gire en una ubicación más precisa. Esto es útil para evitar chocar contra las paredes o para hacer que el robot VR navegue a un lugar específico en un patio de recreo.
Los datos del sensor de distancia se pueden utilizar como uno de los valores en el operador de comparación.
front_distance.get_distance(MM) > 50Por ejemplo, si quisiéramos que el robot VR se dirigiera hacia un objeto, como una pared, y luego se detuviera cuando estuviera cerca del objeto, podríamos hacerlo usando un operador de comparación y la función get _distance. Esencialmente, le estamos pidiendo al robot VR que conduzca mientras la distancia entre el robot y el objeto es mayor que un valor umbral, como 50 milímetros (mm).
Mientras que el sensor de distancia informa que está a más de 50 milímetros (mm), o el valor es mayor que (>) 50, el robot VR puede conducir libremente. Cuando el sensor de distancia informa que está más cerca de 50 milímetros (mm), o el valor no es mayor que (>) 50, el robot VR debe detenerse o girar antes de chocar con la pared.
Para su información
Elegir qué operador de comparación utilizar puede ser una elección estilística. El operador mayor que (>) se utilizó en el ejemplo anterior para que el proyecto fuera lo más claro y legible posible. Mientras el robot VR esté a una distancia superior a 50 milímetros, conduzca hacia adelante. Podría lograr el mismo objetivo invirtiendo el orden de los valores en el operador y utilizando un operador menor que (<).
mientras que > 50 front_distance.get_distance(MM):Aquí, el robot VR conduciría mientras 50 milímetros fuera mayor que el valor informado por el sensor de distancia. El robot VR realizaría el mismo comportamiento, sin embargo, el proyecto es un poco menos claro y legible.
Dependiendo de los datos del sensor que esté utilizando, es posible que el operador igual a (==) no haga que el Robot VR funcione como pretendía. Por ejemplo, si el objetivo es que el robot VR se detenga a 50 milímetros de un objeto, puede pensar en usar el operador igual a (==).
while front_distance.get_distance(MM) == 50:Sin embargo, en el laberinto de pared, por ejemplo, usar un operador igual a (==) con el sensor de distancia requeriría una lectura tan precisa del sensor, que sería exactamente de 50 milímetros, que la velocidad del robot VR haría casi imposible obtener ese nivel de precisión en tiempo real. Por lo tanto, es probable que el VR Robot continúe conduciendo más allá del umbral porque, ya sea que informe un valor de 100 milímetros o 25 milímetros, ninguno de ellos es igual a 50 mm, por lo que el operador nunca informa como Verdadero.
Los operadores de comparación y el problema del laberinto de pared
Se puede utilizar un bucle while con operadores de comparación y el sensor de distancia, de modo que el robot VR verifique continuamente los datos del sensor y evalúe la comparación. Esto puede permitir que el robot VR realice un comportamiento mientras un valor está por encima o por debajo de un cierto umbral. En el laberinto de pared, el resultado deseado es que el robot VR avance mientras el sensor de distancia está a más de 50 milímetros (mm) de la pared. Luego, debe detenerse o girar para continuar a través del laberinto.
def main():
while front_distance.get_distance(MM) > 50:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()En este ejemplo de videoclip, el bucle mientras en el proyecto que se muestra a la izquierda mantendrá al robot VR avanzando desde la ubicación de inicio, siempre que se cumpla la condición y la distancia entre el robot VR y el objeto más cercano (la primera pared opuesta) se informe como mayor a 50 milímetros (mm). El robot se detiene cuando se acerca a la primera pared y la distancia informada es inferior a 50 mm.
Esta imagen explica el flujo del proyecto anterior:
- Mientras el sensor de distancia esté a más de 50 milímetros (mm) de la pared, el operador informa Verdadero y permanece en el bucle mientras
- Cuando está a menos de 50 milímetros (mm) de la pared, el operador informa Falso y sale del bucle while .

Seleccione el botón Siguiente para continuar con el resto de esta lección.