Menu
Coddy logo textTech

Operatory sekwencji

Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 75 z 86.

Swift udostępnia przydatne wbudowane właściwości i metody, które pozwalają szybko uzyskać informacje o tablicach bez pisania pętli. Te operatory sekwencji pomagają wykonywać typowe obliczenia przy użyciu minimalnej ilości kodu.

Właściwość count zwraca liczbę elementów w tablicy:

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

W przypadku tablic liczbowych Swift oferuje metody pozwalające znaleźć najmniejsze i największe wartości. Metody min() i max() zwracają wartości opcjonalne, ponieważ pusta tablica nie ma minimum ani maksimum:

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

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

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

Aby obliczyć sumę wszystkich elementów, użyj metody reduce. Łączy ona wszystkie wartości, zaczynając od wartości początkowej:

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

0 to wartość początkowa, a + mówi Swift, aby dodawał każdy element do bieżącej sumy. Łącząc te operatory, możesz łatwo obliczyć średnią:

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

Wyzwanie

Łatwy
Napisz funkcję analyzeScores, która przyjmuje scores i zwraca ciąg podsumowujący statystyki dotyczące tablicy.

Użyj operatorów sekwencji, aby obliczyć liczbę, minimum, maksimum i średnią wyników, a następnie sformatuj je jako jeden ciąg podsumowujący.

Logika:

  1. Pobierz łączną liczbę elementów za pomocą count
  2. Znajdź minimalną wartość za pomocą min()
  3. Znajdź maksymalną wartość za pomocą max()
  4. Oblicz sumę za pomocą reduce(0, +) i podziel ją przez liczbę elementów, aby uzyskać średnią
  5. Zwróć sformatowany ciąg zawierający wszystkie statystyki

Parametry:

  • scores ([Int]): Tablica wyników całkowitych (gwarantowane, że zawiera co najmniej jeden element)

Zwraca: Sformatowany ciąg zawierający statystyki (String). Format: "Count: X, Min: X, Max: X, Avg: X"

Przykład: Jeśli scores ma wartość [85, 90, 78, 92], funkcja powinna zwrócić "Count: 4, Min: 78, Max: 92, Avg: 86".

Uwaga: Średnia powinna być obliczana z użyciem dzielenia całkowitego (bez miejsc dziesiętnych).

Spróbuj swoich sił

func analyzeScores(scores: [Int]) -> String {
    // Wpisz tutaj kod
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Swift