Menu
Coddy logo textTech

Den Twist hinzufügen

Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 61 von 86.

challenge icon

Aufgabe

Einfach

In der vorherigen Lektion hast du eine Schleife erstellt, die FizzBuzz von 1 bis zu einem bestimmten Limit mit den festen Divisoren 3 und 5 ausführt. Füge nun eine Besonderheit hinzu, indem du die Divisoren anpassbar machst!

Ändere deine fizzBuzz-Funktion so ab, dass sie zwei zusätzliche Parameter für die benutzerdefinierten Divisoren akzeptiert:

  • Aktualisiere die Funktionssignatur zu: fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String
  • Verwende fizzAt anstelle von 3 für die "Fizz"-Prüfung
  • Verwende buzzAt anstelle von 5 für die "Buzz"-Prüfung
  • Die Standardwerte stellen sicher, dass das klassische FizzBuzz weiterhin funktioniert, wenn keine Divisoren angegeben werden

Du wirst die folgenden Eingaben erhalten:

  1. Das obere Limit (Integer)
  2. Der erste Divisor für "Fizz" (Integer)
  3. Der zweite Divisor für "Buzz" (Integer)

Aktualisiere deine Schleife, um diese benutzerdefinierten Divisoren für jede Zahl an die Funktion zu übergeben.

Wenn die Eingaben beispielsweise 10, 2 und 3 sind, sollte die Ausgabe wie folgt aussehen:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

In diesem Beispiel wird "Fizz" bei Vielfachen von 2, "Buzz" bei Vielfachen von 3 und "FizzBuzz" bei Vielfachen von beiden (wie 6) ausgegeben.

Wenn die Eingaben 15, 3 und 5 sind (die klassischen Divisoren), sollte die Ausgabe dem ursprünglichen FizzBuzz entsprechen:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

Probier es selbst

func fizzBuzz(_ number: Int) -> String {
    if number % 3 == 0 && number % 5 == 0 {
        return "FizzBuzz"
    } else if number % 3 == 0 {
        return "Fizz"
    } else if number % 5 == 0 {
        return "Buzz"
    } else {
        return String(number)
    }
}

// Read input
let limit = Int(readLine()!)!

// Loop from 1 to limit and print the result for each number
for number in 1...limit {
    print(fizzBuzz(number))
}

Alle Lektionen in Grundlagen