If - Else aninhado
Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 29 de 92.
Uma instrução if pode ficar dentro de outro bloco if ou else. Isso é um aninhado if. Comece com um if/else simples:
var age := 15
var group := ""
if age >= 18:
group = "Adult"
else:
group = "Minor"Agora divida os menores em dois grupos com um if/else aninhado dentro do bloco else:
var age := 15
var group := ""
if age >= 18:
group = "Adult"
else:
if age >= 13:
group = "Teenager"
else:
group = "Child"15 não é pelo menos 18, então o else externo é executado. Dentro dele, 15 >= 13 é true, então group contém "Teenager".
Um if aninhado também pode ficar dentro do bloco if:
var age := 25
var can_rent_car := false
if age >= 18:
if age >= 21:
can_rent_car = trueO if interno é executado somente quando o bloco externo em que está é executado. Cada nível de aninhamento adiciona uma tabulação.
Desafio
FácilDecida quais filmes um espectador pode assistir. As variáveis age e with_parent são lidas para você nas duas primeiras linhas (não as altere).
Use um if/else aninhado para definir message:
- Se
agefor18ou mais:"You can watch any movie" - Caso contrário, se
with_parentfortrue:"You can watch PG-13 movies" - Caso contrário:
"You can only watch G-rated movies"
with_parent é um bool, então verifique-o diretamente: if with_parent:. Escreva os três casos: os testes usam diferentes idades, com e sem um responsável. Por exemplo, para a idade 17 com um responsável, a saída é:
You can watch PG-13 moviesExperimente você mesmo
extends Node
func _ready():
var age := int(OS.read_string_from_stdin()) # Não altere esta linha
var with_parent := OS.read_string_from_stdin() == "true" # Não altere esta linha
var message := ""
# Escreva seu código com if - else aninhados abaixo
# Não altere a linha abaixo
print(message)
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores - Parte 1
Operadores aritméticosDivisão inteiraOperador móduloAtalhos aritméticosRevisão - Matemática básicaOperadores de comparação7Entrada e Saída Básicas
SaídaSaída com VariáveisFormatação de StringsEntradaConversão de TipoRevisão - Até 120Revisão - Verdadeiro ou Falso10Funções
Declare uma funçãoArgumentosRetornoTipos de retornoRevisão - Função SigmaRevisão - Função de validaçãoValores padrão13Percorrendo Arrays
Percorrendo elementosPercorrendo com índicesPercorrendo strings — Parte 1Percorrendo strings — Parte 216Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Revisão - Lógica simplesOperadores lógicos Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Variáveis - Parte 2
Declaração de tipoInferência de tipoConstantesRevisão - Inicialização de variáveisConversão de tipo6Tomada de decisões
Instrução ifIf - ElseRevisão - Calculadora simplesIf - Else aninhadoInstrução match9Laços de repetição
Laço forLaço whileInterromperContinuarRevisão - FatorialA função rangeLaço aninhadoRevisão - Entrada dinâmicaPratique por conta própria: Compilador de GDScript online