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) // 4Pour 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) // 60Le 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) // 86Défi
FacileÉcrivez une fonction analyzeScores qui prend scores et renvoie une chaîne de résumé avec 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 de résumé.
Logique :
- Obtenez le nombre total d'éléments en utilisant
count - Trouvez la valeur minimale en utilisant
min() - Trouvez la valeur maximale en utilisant
max() - Calculez la somme en utilisant
reduce(0, +)et divisez par le nombre d'éléments pour obtenir la moyenne - Renvoyez une chaîne formatée avec toutes les statistiques
Paramètres :
scores([Int]) : Un tableau de scores entiers (garanti d'avoir au moins un élément)
Retourne : Une chaîne formatée contenant les statistiques (String). Format : "Count: X, Min: X, Max: X, Avg: X"
Exemple : Si scores est [85, 90, 78, 92], la fonction doit retourner "Count: 4, Min: 78, Max: 92, Avg: 86".
Remarque : La moyenne doit être calculée en utilisant la division entière (pas de décimales).
Aide-mémoire
Swift fournit des propriétés et des méthodes intégrées pour travailler avec des tableaux sans écrire de boucles.
La propriété count renvoie le nombre d'éléments :
let scores = [85, 92, 78, 90]
print(scores.count) // 4Les méthodes min() et max() trouvent les valeurs les plus petites et les plus grandes. Elles renvoient des optionnels car les tableaux vides n'ont 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
}La méthode reduce calcule le total en combinant toutes les valeurs à partir d'une valeur initiale :
let prices = [10, 20, 30]
let total = prices.reduce(0, +)
print(total) // 60Calculez une moyenne en combinant reduce avec count :
let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average) // 86Essayez vous-même
func analyzeScores(scores: [Int]) -> String {
// Écrire le code ici
}
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
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur ModuloAffectation composéeRécapitulatif - Mathématiques simplesOpérateurs de comparaison7Entrées/Sorties de base
Fonction PrintInterpolation de chaînesSaisie ReadLineConversion de typesRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourÉtiquettes d'argumentRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut13Itération sur les séquences
Itérer sur les élémentsLa méthode d'énumérationItérer sur les chaînes P1Itérer sur les chaînes P22Variables
Let vs VarAnnotations de typeNombresStringsBooléensConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de facture
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz14Tableaux Avancés
Slicing de Tableaux, Partie 1Slicing de Tableaux, Partie 2Opérateurs de SéquenceLa Méthode Contains3Les Optionnels
Comprendre les optionnelsDéballage avec If LetL'instruction Guard LetOpérateur de fusion nilRécapitulatif - Déballage sécurisé6Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleL'instruction SwitchSwitch avec des intervalles9Boucles
Boucle For-InBoucle WhileBoucle Repeat-WhileBreakContinueRécapitulatif - FactorielleIntervalles dans les bouclesBoucles imbriquéesRécapitulatif - Entrée dynamique