De forma predeterminada, solo hay una consola disponible, pero puede ser útil usar más de una consola (especialmente cuando se filtra lo que se muestra en cada una). Se puede abrir una nueva consola desde el menú "Tools" o desde el menú contextual de una consola ya existente.
La forma más elemental de mostrar mensajes en la consola es usando la función "print" pasando una cadena de texto como parámetro:
print("Hola mundo")
Usar cadenas de texto como mensajes en la consola puede parecer poco útil pero en realidad es una forma fácil de analizar el flujo de ejecución del programa, sobre todo cuando no estamos seguros de si una parte del código está ejecutándose correctamente o no. La utilidad de esta técnica se puede apreciar mejor en programas más complejos pero en este ejemplo sencillo se puede ver como algunas partes del código se ejecutan una vez, otras se ejecutan varias veces, y algunas no se ejecutan en ningún momento:
print("Inició la simulación")
while robot.step(TIME_STEP) != -1:
if True:
print("Se está ejecutando la simulación")
else:
print("Este mensaje NO debería aparecer")
print("Terminó la simulación")
Probablemente la forma más común de usar la consola sea para mostrar el valor de alguna variable (o varias). En este caso, en lugar de pasar una cadena de texto como parámetro de la función "print" lo que pasamos es directamente el valor que queremos mostrar en la consola.
En el ejemplo siguiente se observa cómo mostrar en la consola los segundos desde que inició la simulación:
print(robot.getTime()) # Muestro los segundos actuales en la consola
Cuando empezamos a mostrar múltiples valores en la consola resulta fácil confundir el significado de cada valor. Resulta entonces muy útil combinar una cadena de texto con el valor que queremos mostrar de forma que podamos identificar qué significa cada valor:
c = 0 # Usamos esta variable para contar los ciclos de simulación
while robot.step(TIME_STEP) != -1:
c = c + 1 # En cada ciclo, incrementamos el contador en 1
print(f"Cantidad de ciclos: {c}")
print(f"Segundos de simulación: {robot.getTime()}")
Puede resultar útil mostrar un mensaje en la consola dependiendo de si se cumple o no una condición. El siguiente ejemplo muestra en la consola un mensaje cada 10 segundos:
t0 = robot.getTime() # Guardamos los segundos al iniciar el programa
while robot.step(TIME_STEP) != -1:
# Chequeamos si pasaron 10 segundos.
if robot.getTime() - t0 > 10:
print("A") # Ya pasaron 10 segundos
t0 = robot.getTime() # Vuelvo a iniciar el contador