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: 1Il 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.
Sfida
FacileIl 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
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiDivisione interaOperatore moduloScorciatoie aritmeticheRipasso - Matematica sempliceOperatori di confronto7Input/Output di base
OutputOutput con variabiliFormattazione delle stringheInputConversione di tipoRiepilogo - Fino a 120Riepilogo - Vero o falso10Funzioni
Dichiarare una funzioneArgomentiRestituzioneTipi di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di convalidaValori predefiniti5Operatori - Parte 2
Operatori logici - Parte 1Operatori logici - Parte 2Riepilogo - Logica sempliceOperatori logici - Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoInserimento dei dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Variabili Parte 2
Dichiarazione del tipoInferenza del tipoCostantiRipasso - Inizializzare le variabiliConversione di tipo6Strutture decisionali
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIf - Else annidatiIstruzione match9Cicli
Ciclo forCiclo whilebreakcontinueRipasso - FattorialeLa funzione rangeCiclo annidatoRipasso - Input dinamicoEsercitati da solo: Compilatore GDScript online