Den Twist 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 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
fizzAtanstelle von 3 für die "Fizz"-Prüfung - Verwende
buzzAtanstelle 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:
- Das obere Limit (Integer)
- Der erste Divisor für "Fizz" (Integer)
- 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
FizzIn 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
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 ZuweisungWiederholung - Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypumwandlungWiederholung - Bis 120Wiederholung - Wahr oder Falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgument-LabelsWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandardwerte13Iterieren über Sequenzen
Iterieren über ElementeDie enumerate-MethodeIterieren über Strings Teil 1Iterieren über Strings Teil 22Variablen
Let vs. VarTyp-AnnotationenZahlenStringsBooleansBenennungskonventionenZusammenfassung – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungs-Splitter
WillkommensnachrichtEingabe abfragen14Arrays für Fortgeschrittene
Array Slicing Teil 1Array Slicing Teil 2Sequenz-OperatorenDie Contains-Methode3Optionals
Was sind OptionalsUnwrapping mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Unwrapping6Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Wertebereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueWiederholung – FakultätBereiche in SchleifenVerschachtelte SchleifeWiederholung – Dynamische Eingabe