Percorrendo com índices
Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 70 de 92.
Um loop pelos elementos fornece cada valor, mas não sua posição. Quando você também precisa do índice, percorra os índices com range() e leia cada elemento usando colchetes:
var fruits := ["apple", "banana", "orange"]
for i in range(fruits.size()):
print("Index %d: %s" % [i, fruits[i]])Index 0: apple
Index 1: banana
Index 2: orangerange(fruits.size()) fornece 0, 1 e 2: exatamente os índices do array. A cada iteração, i é o índice e fruits[i] é o elemento.
O índice também é o que permite alterar o array dentro de um loop. Atribuir um valor à variável de loop de for price in prices: altera apenas essa variável, enquanto atribuir um valor a prices[i] altera o array:
var prices := [2, 5]
for i in range(prices.size()):
prices[i] *= 2
print(prices)[4, 10]Desafio
FácilO programa lê uma linha de números inteiros separados por vírgulas no array numbers (já escrito).
Imprima um array com os índices dos números que são menores que 50 ou divisíveis por 5. Para a entrada 80,4,99,36,34:
80(índice 0) é divisível por 5: incluído4(índice 1) é menor que 50: incluído99(índice 2): não incluído36(índice 3) e34(índice 4) são menores que 50: incluídos
A saída é:
[0, 1, 3, 4]Experimente você mesmo
extends Node
func _ready():
var parts := OS.read_string_from_stdin().split(",")
var numbers: Array[int] = []
for part in parts:
numbers.append(int(part))
# Escreva seu código abaixo
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