Menu
Coddy logo textTech

Opérateurs de Séquence

Fait partie de la section Fondamentaux du Journey Swift de Coddy. Leçon 75 sur 86.

Swift fournit des propriétés et des méthodes intégrées utiles qui vous permettent de recueillir rapidement des informations sur les tableaux sans écrire de boucles. Ces opérateurs de séquence vous aident à effectuer des calculs courants avec un minimum de code.

La propriété count retourne le nombre d'éléments dans un tableau :

let scores = [85, 92, 78, 90]
print(scores.count)  // 4

Pour les tableaux numériques, Swift propose des méthodes pour trouver les valeurs les plus petites et les plus grandes. Les méthodes min() et max() renvoient des optionnels car un tableau vide n'a ni minimum ni maximum :

let temperatures = [72, 68, 75, 80, 65]

if let lowest = temperatures.min() {
    print(lowest)  // 65
}

if let highest = temperatures.max() {
    print(highest)  // 80
}

Pour calculer le total de tous les éléments, utilisez la méthode reduce. Elle combine toutes les valeurs en partant d'une valeur initiale :

let prices = [10, 20, 30]
let total = prices.reduce(0, +)
print(total)  // 60

Le 0 est la valeur de départ, et + indique à Swift d'ajouter chaque élément au total cumulé. En combinant ces opérateurs, vous pouvez facilement calculer une moyenne :

let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average)  // 86
challenge icon

Défi

Facile
Écrivez une fonction analyzeScores qui accepte scores et renvoie une chaîne récapitulative contenant des statistiques sur le tableau.

Utilisez des opérateurs de séquence pour calculer le nombre, le minimum, le maximum et la moyenne des scores, puis formatez-les dans une seule chaîne récapitulative.

Logique :

  1. Obtenez le nombre total d’éléments à l’aide de count
  2. Trouvez la valeur minimale à l’aide de min()
  3. Trouvez la valeur maximale à l’aide de max()
  4. Calculez la somme à l’aide de reduce(0, +) et divisez-la par le nombre d’éléments pour obtenir la moyenne
  5. Renvoyez une chaîne formatée contenant toutes les statistiques

Paramètres :

  • scores ([Int]) : Un tableau de scores entiers (garanti de contenir au moins un élément)

Renvoie : Une chaîne formatée contenant les statistiques (String). Format : "Count: X, Min: X, Max: X, Avg: X"

Exemple : Si scores vaut [85, 90, 78, 92], la fonction doit renvoyer "Count: 4, Min: 78, Max: 92, Avg: 86".

Remarque : La moyenne doit être calculée à l’aide d’une division entière (sans décimales).

Essayez vous-même

func analyzeScores(scores: [Int]) -> String {
    // Écrire 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

Entraînez-vous par vous-même : Playground Swift