Menu
Coddy logo textTech

Operatori di sequenza

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

Swift fornisce utili proprietà e metodi integrati che ti permettono di raccogliere rapidamente informazioni sugli array senza scrivere cicli. Questi operatori di sequenza ti aiutano a eseguire calcoli comuni con una quantità minima di codice.

La proprietà count restituisce il numero di elementi in un array:

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

Per gli array numerici, Swift offre metodi per trovare i valori più piccoli e più grandi. I metodi min() e max() restituiscono valori opzionali, poiché un array vuoto non ha un minimo o un massimo:

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

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

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

Per calcolare il totale di tutti gli elementi, usa il metodo reduce. Combina tutti i valori partendo da un valore iniziale:

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

Il valore 0 è il valore iniziale e + indica a Swift di aggiungere ogni elemento al totale progressivo. Combinando questi operatori, puoi calcolare facilmente una media:

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

Sfida

Facile
Scrivi una funzione analyzeScores che accetti scores e restituisca una stringa di riepilogo con le statistiche dell'array.

Usa gli operatori di sequenza per calcolare il conteggio, il minimo, il massimo e la media dei punteggi, quindi formattali in un'unica stringa di riepilogo.

Logica:

  1. Ottieni il conteggio totale degli elementi usando count
  2. Trova il valore minimo usando min()
  3. Trova il valore massimo usando max()
  4. Calcola la somma usando reduce(0, +) e dividila per il conteggio per ottenere la media
  5. Restituisci una stringa formattata con tutte le statistiche

Parametri:

  • scores ([Int]): un array di punteggi interi (è garantito che contenga almeno un elemento)

Valore restituito: una stringa formattata contenente le statistiche (String). Formato: "Count: X, Min: X, Max: X, Avg: X"

Esempio: se scores è [85, 90, 78, 92], la funzione dovrebbe restituire "Count: 4, Min: 78, Max: 92, Avg: 86".

Nota: la media deve essere calcolata usando la divisione intera (senza cifre decimali).

Provalo tu

func analyzeScores(scores: [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