Menu
Coddy logo textTech

Intervalli nei cicli

Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 48 di 86.

Hai usato intervalli come 1...5 nei tuoi cicli, ma Swift offre più flessibilità nel modo in cui definisci questi intervalli. Esploriamo i diversi tipi di intervallo e una tecnica utile per contare all’indietro.

L’operatore di intervallo chiuso (...) include entrambi gli estremi:

for i in 1...3 {
    print(i)
}
// Risultato: 1, 2, 3

L’operatore di intervallo semiaperto (..<) esclude il limite superiore, il che è particolarmente utile quando si lavora con indici a base zero:

for i in 0..<3 {
    print(i)
}
// Output: 0, 1, 2

A volte devi eseguire un ciclo in ordine inverso. Il metodo reversed() ti permette di iterare all'indietro in un intervallo:

for i in (1...3).reversed() {
    print(i)
}
// Risultato: 3, 2, 1

Nota le parentesi intorno all’intervallo: sono necessarie quando chiami reversed() su un intervallo. Questa tecnica è perfetta per i conto alla rovescia o quando devi elaborare gli elementi dall’ultimo al primo.

challenge icon

Sfida

Facile
Scrivi una funzione countdown che accetta n e restituisce una stringa contenente un conto alla rovescia da n fino a 1, seguito da "Go!".

Usa il metodo reversed() su un intervallo per iterare all'indietro e creare la stringa del conto alla rovescia.

Logica:

  • Crea un intervallo da 1 a n e invertine l'ordine
  • Crea una stringa con ogni numero separato da una nuova riga
  • Aggiungi "Go!" nell'ultima riga

Parametri:

  • n (Int): Il numero di partenza del conto alla rovescia (1 o superiore)

Restituisce: Una stringa con ogni numero del conto alla rovescia su una riga separata, che termina con "Go!" (String). Formato:

3
2
1
Go!

Per esempio, se n è 3, la funzione restituisce "3\n2\n1\nGo!".

Provalo tu

func countdown(n: Int) -> String {
    // Scrivi il codice qui
}
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: Playground Swift