Вложенные условия if — else
Часть раздела Основы путешествия по GDScript на Coddy. Урок 29 из 92.
Инструкция if может находиться внутри другого блока if или else. Это вложенная инструкция if. Начнём с обычной конструкции if/else:
var age := 15
var group := ""
if age >= 18:
group = "Adult"
else:
group = "Minor"Теперь разделите несовершеннолетних на две группы с помощью вложенного if/else внутри блока else:
var age := 15
var group := ""
if age >= 18:
group = "Adult"
else:
if age >= 13:
group = "Teenager"
else:
group = "Child"15 не больше или равно 18, поэтому выполняется внешний else. Внутри него 15 >= 13 — это true, поэтому в group содержится "Teenager".
Вложенный if также можно поместить внутрь блока if:
var age := 25
var can_rent_car := false
if age >= 18:
if age >= 21:
can_rent_car = trueВнутренний блок if выполняется, только когда выполняется внешний блок, в котором он находится. Каждый уровень вложенности добавляет одну табуляцию.
Задание
ЛегкоОпредели, какие фильмы может смотреть зритель. Переменные age и with_parent считываются за тебя в первых двух строках (не изменяй их).
Используй вложенную конструкцию if/else, чтобы задать message:
- Если
ageравно18или больше:"You can watch any movie" - Иначе, если
with_parentравноtrue:"You can watch PG-13 movies" - Иначе:
"You can only watch G-rated movies"
with_parent — это bool, поэтому проверяй его напрямую: if with_parent:. Напиши код для всех трёх случаев: тесты проверяют разные значения возраста, с родителем и без. Например, для возраста 17 в присутствии родителя вывод будет таким:
You can watch PG-13 moviesПопробуйте сами
extends Node
func _ready():
var age := int(OS.read_string_from_stdin()) # Не изменяйте эту строку
var with_parent := OS.read_string_from_stdin() == "true" # Не изменяйте эту строку
var message := ""
# Напишите ниже свой код с вложенной конструкцией if - else
# Не изменяйте строку ниже
print(message)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор остатка от деленияСокращённая запись арифметических операцийПовторение — простая математикаОператоры сравнения7Основы ввода и вывода
ВыводВывод с переменнымиФорматирование строкВводПреобразование типовПовторение — до 120Повторение — истина или ложь5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор для разделения счёта
Приветственное сообщениеВвод данных11FizzBuzz с неожиданным поворотом
Обзор игрыФункция FizzBuzz14Массивы: продвинутый уровень
Срезы массивовОператоры последовательностейПринадлежностьСортировка и обратный порядок3Переменные. Часть 2
Объявление типаВывод типаКонстантыПовторение — инициализация переменныхПреобразование типов6Принятие решений
Оператор ifЕсли — иначеПовторение: простой калькуляторВложенные условия if — elseОператор match9Циклы
Цикл forЦикл whileBreakContinueПовторение — факториалФункция rangeВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Онлайн-компилятор GDScript