Aggiungere la variante
Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 61 di 86.
Sfida
FacileNella lezione precedente, hai creato un ciclo che esegue FizzBuzz da 1 fino a un limite specificato usando i divisori fissi 3 e 5. Ora aggiungi una variante rendendo personalizzabili i divisori!
Modifica la tua funzione fizzBuzz per accettare due parametri aggiuntivi per i divisori personalizzati:
- Aggiorna la firma della funzione a:
fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String - Usa
fizzAtinvece di 3 per il controllo di "Fizz" - Usa
buzzAtinvece di 5 per il controllo di "Buzz" - I valori predefiniti assicurano che il FizzBuzz classico funzioni comunque quando i divisori non sono specificati
Riceverai i seguenti input:
- Il limite superiore (intero)
- Il primo divisore per "Fizz" (intero)
- Il secondo divisore per "Buzz" (intero)
Aggiorna il ciclo in modo che passi questi divisori personalizzati alla funzione per ogni numero.
Ad esempio, se gli input sono 10, 2 e 3, l'output dovrebbe essere:
1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
FizzIn questo esempio, "Fizz" viene stampato per i multipli di 2, "Buzz" per i multipli di 3 e "FizzBuzz" per i multipli di entrambi (come 6).
Se gli input sono 15, 3 e 5 (i divisori classici), l'output dovrebbe corrispondere al FizzBuzz originale:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzProvalo tu
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))
}Tutte le lezioni di Fondamenti
4Operatori – Parte 1
Operatori aritmeticiOperatore moduloAssegnazione compostaRiepilogo - Matematica sempliceOperatori di confronto7I/O di base
Funzione printInterpolazione di stringheInput con ReadLineConversione di tipoRipasso - Fino a 120Ripasso - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori restituitiEtichette degli argomentiRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti13Iterare sulle sequenze
Iterare sugli elementiIl metodo enumerateIterare sulle stringhe P1Iterare sulle stringhe P22Variabili
Let vs VarAnnotazioni di tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Valori opzionali
Cosa sono i valori opzionaliEstrazione del valore con if letGuard letOperatore di coalescenza nilRiepilogo - Estrazione sicura del valore6Decisioni
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIstruzione switchSwitch con intervalli9Cicli
Ciclo for-inCiclo whileCiclo repeat-whileBreakContinueRipasso - FattorialeIntervalli nei cicliCiclo annidatoRipasso - Input dinamicoEsercitati da solo: Playground Swift