Menu
Coddy logo textTech

Intervalles dans les boucles

Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 48 sur 86.

Vous avez utilisé des intervalles comme 1...5 dans vos boucles, mais Swift offre plus de flexibilité dans la manière de définir ces intervalles. Explorons les différents types d'intervalles et une technique utile pour compter à rebours.

L'opérateur d'intervalle fermé (...) inclut les deux bornes :

for i in 1...3 {
    print(i)
}
// Résultat : 1, 2, 3

L'opérateur d'intervalle semi-ouvert (..<) exclut la borne supérieure, ce qui est particulièrement utile lors de l'utilisation d'indices basés sur zéro :

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

Parfois, vous avez besoin de boucler dans l'ordre inverse. La méthode reversed() vous permet d'itérer à l'envers à travers une plage :

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

Remarquez les parenthèses autour de la plage — elles sont obligatoires lors de l'appel de reversed() sur une plage. Cette technique est parfaite pour les comptes à rebours ou lorsque vous devez traiter des éléments du dernier au premier.

challenge icon

Défi

Facile

Écrivez une fonction countdown qui prend n et retourne une chaîne de caractères contenant un compte à rebours de n jusqu'à 1, suivi de "Go!".

Utilisez la méthode reversed() sur une plage (range) pour itérer à l'envers et construire la chaîne du compte à rebours.

Logique :

  • Créez une plage de 1 à n et inversez-la
  • Construisez une chaîne avec chaque nombre séparé par un saut de ligne
  • Ajoutez "Go!" sur la ligne finale

Paramètres :

  • n (Int) : Le nombre de départ pour le compte à rebours (1 ou plus)

Retourne : Une chaîne avec chaque nombre du compte à rebours sur sa propre ligne, se terminant par "Go!" (String). Format :

3
2
1
Go!

Par exemple, si n est 3, la fonction retourne "3\n2\n1\nGo!".

Aide-mémoire

Swift propose deux opérateurs de plage pour les boucles :

L'opérateur de plage fermée (...) inclut les deux bornes :

for i in 1...3 {
    print(i)
}
// Résultat : 1, 2, 3

L'opérateur de plage semi-ouverte (..<) exclut la borne supérieure :

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

Pour itérer à l'envers dans une plage, utilisez la méthode reversed() :

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

Remarque : Des parenthèses autour de la plage sont nécessaires lors de l'appel de reversed().

Essayez vous-même

func countdown(n: Int) -> String {
    // Écrivez le code ici
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux