Menu
Coddy logo textTech

Условный оператор

Часть раздела Основы путешествия по Dart на Coddy. Урок 30 из 94.

conditional operator (?:) предоставляет лаконичный способ записи инструкций if-else в одну строку:

condition ? expressionIfTrue : expressionIfFalse

Пример:

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

Вывод: Adult

Он работает с различными типами данных и идеально подходит для простых условных присваиваний.

challenge icon

Задание

Легко

Создайте программу, которая использует тернарный оператор (?:) для определения того, достаточно ли у игрока очков для повышения уровня в игре:

  1. Объявите целочисленную переменную playerScore со значением 750
  2. Объявите целочисленную переменную levelUpThreshold со значением 500
  3. Используйте тернарный оператор для создания строкового сообщения, которое содержит:
    • "Level up!", если количество очков игрока больше или равно пороговому значению
    • "Keep trying!", если количество очков игрока меньше порогового значения
  4. Сохраните это сообщение в строковую переменную с именем message
  5. Выведите количество очков игрока в формате: Player score: 750
  6. Выведите сообщение
  7. Обновите количество очков игрока до 450
  8. Используйте тернарный оператор снова, чтобы обновить сообщение на основе нового количества очков
  9. Выведите обновленное количество очков игрока в формате: Player score: 450
  10. Выведите обновленное сообщение

Ваш вывод должен точно соответствовать ожидаемому формату.

Попробуйте сами

void main() {
  // Объявите ваши переменные здесь
  // Замените каждый ноль на значение, которое требует задание
  int playerScore = 0;
  int levelUpThreshold = 0;

  // Используйте условный оператор для создания первого сообщения
  // Замените два пустых текста на сообщения, которые требует задание
  String message = playerScore >= levelUpThreshold ? "" : "";

  // Выведите счёт игрока и сообщение
  print("Player score: $playerScore");
  print(message);

  // Обновите счёт игрока
  // Замените ноль на обновлённый счёт, который требует задание
  playerScore = 0;

  // Используйте условный оператор для обновления сообщения
  message = playerScore >= levelUpThreshold ? "" : "";

  // Выведите обновлённый счёт игрока и сообщение
  print("Player score: $playerScore");
  print(message);
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Dart