Die Wendung hinzufügen
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy. Lektion 61 von 86.
Aufgabe
EinfachIn der vorherigen Lektion hast du eine Schleife erstellt, die FizzBuzz von 1 bis zu einem angegebenen Limit mit den festen Teilern 3 und 5 ausführt. Jetzt kommt die Erweiterung: Mache die Teiler anpassbar!
Ändere deine fizzBuzz-Funktion so, dass sie zwei zusätzliche Parameter für die benutzerdefinierten Teiler akzeptiert:
- Aktualisiere die Funktionssignatur zu:
fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String - Verwende
fizzAtanstelle von 3 für die Prüfung auf „Fizz“ - Verwende
buzzAtanstelle von 5 für die Prüfung auf „Buzz“ - Die Standardwerte stellen sicher, dass das klassische FizzBuzz weiterhin funktioniert, wenn keine Teiler angegeben werden
Du erhältst die folgenden Eingaben:
- Das obere Limit (Ganzzahl)
- Der erste Teiler für „Fizz“ (Ganzzahl)
- Der zweite Teiler für „Buzz“ (Ganzzahl)
Aktualisiere deine Schleife so, dass sie diese benutzerdefinierten Teiler für jede Zahl an die Funktion übergibt.
Wenn die Eingaben beispielsweise 10, 2 und 3 lauten, sollte die Ausgabe wie folgt aussehen:
1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
FizzIn diesem Beispiel wird „Fizz“ für Vielfache von 2 ausgegeben, „Buzz“ für Vielfache von 3 und „FizzBuzz“ für Vielfache von beiden (wie 6).
Wenn die Eingaben 15, 3 und 5 lauten (die klassischen Teiler), sollte die Ausgabe dem ursprünglichen FizzBuzz entsprechen:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzProbier 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
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorZusammengesetzte ZuweisungRückblick – Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypkonvertierungWiederholung – Bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgumentbezeichnungenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte13Über Sequenzen iterieren
Über Elemente iterierenDie Enumerate-MethodeÜber Strings iterieren Teil 1Über Strings iterieren Teil 22Variablen
let vs. varTypannotationenZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Zusammenfassung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechner zum Teilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion14Arrays – Fortgeschritten
Array-Slicing Teil 1Array-Slicing Teil 2SequenzoperatorenDie Contains-Methode3Optionals
Was sind Optionals?Entpacken mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Entpacken6Entscheidungen treffen
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Bereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueZusammenfassung – FakultätBereiche in SchleifenVerschachtelte SchleifeZusammenfassung – Dynamische EingabeÜbe selbstständig: Swift-Playground