Menu
CoddyTech

Вложенные условия 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 выполняется, только когда выполняется внешний блок, в котором он находится. Каждый уровень вложенности добавляет одну табуляцию.

challenge icon

Задание

Легко

Определи, какие фильмы может смотреть зритель. Переменные 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)
quiz iconПроверьте себя

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

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

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