Menu
Coddy logo textTech

Operador condicional

Parte de la sección Fundamentos del Journey de Dart de Coddy. Lección 30 de 94.

El operador condicional (?:) ofrece una forma concisa de escribir sentencias if-else en una sola línea:

condition ? expressionIfTrue : expressionIfFalse

Ejemplo:

void main() {
  int age = 20;
  String status = age >= 18 ? 'Adult' : 'Minor';
  
  print(status);
}

Resultado: Adult

Funciona con diferentes tipos de datos y es ideal para asignaciones condicionales simples.

challenge icon

Desafío

Fácil

Crea un programa que utilice el operador condicional (?:) para determinar si un jugador tiene suficientes puntos para subir de nivel en un juego:

  1. Declara una variable entera playerScore con un valor de 750
  2. Declara una variable entera levelUpThreshold con un valor de 500
  3. Utiliza el operador condicional para crear un mensaje de texto que diga ya sea:
    • "Level up!" si la puntuación del jugador es mayor o igual que el umbral
    • "Keep trying!" si la puntuación del jugador es menor que el umbral
  4. Guarda este mensaje en una variable de texto llamada message
  5. Imprime la puntuación del jugador con el formato: Player score: 750
  6. Imprime el mensaje
  7. Actualiza la puntuación del jugador a 450
  8. Utiliza el operador condicional de nuevo para actualizar el mensaje basándote en la nueva puntuación
  9. Imprime la puntuación actualizada del jugador con el formato: Player score: 450
  10. Imprime el mensaje actualizado

Tu salida debe coincidir exactamente con el formato esperado.

Pruébalo tú mismo

void main() {
  // Declara tus variables aquí
  // Reemplaza cada cero con el valor que pide la tarea
  int playerScore = 0;
  int levelUpThreshold = 0;

  // Usa el operador condicional para crear el primer mensaje
  // Reemplaza los dos textos vacíos con los mensajes que pide la tarea
  String message = playerScore >= levelUpThreshold ? "" : "";

  // Imprime la puntuación del jugador y el mensaje
  print("Player score: $playerScore");
  print(message);

  // Actualiza la puntuación del jugador
  // Reemplaza el cero con la puntuación actualizada que pide la tarea
  playerScore = 0;

  // Usa el operador condicional para actualizar el mensaje
  message = playerScore >= levelUpThreshold ? "" : "";

  // Imprime la puntuación actualizada del jugador y el mensaje
  print("Player score: $playerScore");
  print(message);
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Dart online