Ciclo annidato
Fa parte della sezione Fondamenti del percorso Python di Coddy. Lezione 41 di 77.
Un ciclo annidato è un ciclo all'interno di un altro ciclo. Il ciclo interno completa tutte le sue iterazioni per ogni iterazione del ciclo esterno.
Iniziamo con un semplice ciclo annidato per capire il concetto:
# Ciclo esterno
for i in range(3):
print(f"Outer loop iteration: {i}")
# Ciclo interno
for j in range(2):
print(f" Inner loop iteration: {j}")Quando esegui questo codice, vedrai:
Outer loop iteration: 0
Inner loop iteration: 0
Inner loop iteration: 1
Outer loop iteration: 1
Inner loop iteration: 0
Inner loop iteration: 1
Outer loop iteration: 2
Inner loop iteration: 0
Inner loop iteration: 1Nota che, per ogni iterazione del ciclo esterno, il ciclo interno completa tutte le sue iterazioni.
Ora vediamo un esempio pratico: stampare un semplice motivo:
# Stampa un rettangolo di stelle 2x3
for row in range(2): # 2 righe
line = ""
for col in range(3): # 3 colonne
line += "*"
print(line)
# Output:
# ***
# ***Il ciclo esterno controlla quante righe stampiamo e il ciclo interno crea ciascuna riga aggiungendo asterischi.
Sfida
FacileScrivi del codice che stampi un motivo rettangolare di asterischi (*) usando cicli annidati.
Il tuo programma dovrebbe:
- Leggere due interi:
rowsecols - Usare una struttura a cicli annidati per stampare il motivo
- Il ciclo esterno dovrebbe scorrere ogni riga
- Il ciclo interno dovrebbe costruire ogni riga con il numero corretto di asterischi
- Stampare ogni riga completata
Esempio: se l'input è di 3 righe e 4 colonne, l'output dovrebbe essere:
****
****
****Provalo tu
# Acquisisci i valori di input per righe e colonne
rows = int(input())
cols = int(input())
# Scrivi qui i tuoi cicli annidati
# Ciclo esterno per le righe
# Ciclo interno per le colonneQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 47Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati10FizzBuzz con un tocco speciale
Panoramica del giocoLa funzione FizzBuzz2Variabili
NumeriStringaBooleanoConvenzioni di denominazioneVariabili vuoteRipasso - Inizializzare le variabili8Cicli
Ciclo forCiclo whileBreakContinueRipasso - FattorialeLa funzione rangeCiclo annidatoRipasso - Input dinamico3Operatori Parte 1
Operatori aritmeticiOperatore moduloScorciatoie aritmeticheRipasso - Matematica sempliceOperatori di confronto6Input/output di base
OutputOutput con variabiliInputConversione di tipoRipasso - Fino a 120Ripasso - Vero o falso9Funzioni
Dichiarare una funzioneArgomentiValore restituitoRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefinitiEsercitati da solo: Compilatore Python online