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, 3L’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, 2A 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, 1Nota 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.
Sfida
FacileScrivi 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
1ane 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
}
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 aritmeticiOperatore moduloAssegnazione compostaRiepilogo - Matematica sempliceOperatori di confronto7I/O di base
Funzione printInterpolazione di stringheInput con ReadLineConversione di tipoRipasso - Fino a 120Ripasso - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori restituitiEtichette degli argomentiRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti13Iterare sulle sequenze
Iterare sugli elementiIl metodo enumerateIterare sulle stringhe P1Iterare sulle stringhe P22Variabili
Let vs VarAnnotazioni di tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Valori opzionali
Cosa sono i valori opzionaliEstrazione del valore con if letGuard letOperatore di coalescenza nilRiepilogo - Estrazione sicura del valore6Decisioni
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIstruzione switchSwitch con intervalli9Cicli
Ciclo for-inCiclo whileCiclo repeat-whileBreakContinueRipasso - FattorialeIntervalli nei cicliCiclo annidatoRipasso - Input dinamicoEsercitati da solo: Playground Swift