Menu
CoddyTech

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: orange

range(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]
challenge icon

Desafio

Fácil

O 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ído
  • 4 (índice 1) é menor que 50: incluído
  • 99 (índice 2): não incluído
  • 36 (índice 3) e 34 (í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
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Compilador de GDScript online