Menu
CoddyTech

Ciclo annidato

Fa parte della sezione Fondamenti del percorso GDScript di Coddy. Lezione 49 di 92.

Un ciclo annidato è un ciclo all'interno di un altro ciclo. Per ogni iterazione del ciclo esterno, il ciclo interno esegue tutte le sue iterazioni:

for i in range(3):
	print("Outer: ", i)
	for j in range(2):
		print("  Inner: ", j)
Outer: 0
  Inner: 0
  Inner: 1
Outer: 1
  Inner: 0
  Inner: 1
Outer: 2
  Inner: 0
  Inner: 1

Il blocco interno è indentato di due livelli. Viene eseguito 3 x 2 = 6 volte in totale.

I due cicli devono avere nomi di variabili diversi. Scrivere for i all'interno di un altro for i è un errore, segnalato prima che il programma venga eseguito.

I cicli annidati sono utili per righe e colonne. print() termina sempre la riga, quindi per stampare una riga di asterischi, prima costruiscila in una stringa e stampala una volta terminato il ciclo interno:

for row in range(2):
	var line := ""
	for col in range(3):
		line += "*"
	print(line)
***
***

Il ciclo esterno viene eseguito una volta per riga e il ciclo interno aggiunge una stella per colonna. Un break all'interno del ciclo interno interrompe solo il ciclo interno: il ciclo esterno prosegue con l'iterazione successiva.

challenge icon

Sfida

Facile

Il programma legge due numeri interi: rows e cols.

Usa cicli annidati per stampare un rettangolo di asterischi (*) con rows righe e cols asterischi su ogni riga.

Per gli input 3 e 4, l'output è:

****
****
****

Provalo tu

extends Node

func _ready():
	var rows := int(OS.read_string_from_stdin())
	var cols := int(OS.read_string_from_stdin())
	# Ciclo esterno: un'iterazione per ogni riga
	# Ciclo interno: aggiungi una stella per ogni colonna
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore GDScript online