Añadiendo el giro
Parte de la sección Fundamentos del Journey de Swift de Coddy. Lección 61 de 86.
Desafío
FácilEn la lección anterior, creaste un bucle que ejecuta FizzBuzz del 1 hasta un límite determinado usando los divisores fijos 3 y 5. ¡Ahora añade el giro haciendo que los divisores sean personalizables!
Modifica tu función fizzBuzz para que acepte dos parámetros adicionales para los divisores personalizados:
- Actualiza la firma de la función a:
fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String - Usa
fizzAten lugar de 3 para la comprobación de "Fizz" - Usa
buzzAten lugar de 5 para la comprobación de "Buzz" - Los valores predeterminados garantizan que el FizzBuzz clásico siga funcionando cuando no se especifican los divisores
Recibirás las siguientes entradas:
- El límite superior (entero)
- El primer divisor para "Fizz" (entero)
- El segundo divisor para "Buzz" (entero)
Actualiza tu bucle para pasar estos divisores personalizados a la función para cada número.
Por ejemplo, si las entradas son 10, 2 y 3, la salida debería ser:
1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
FizzEn este ejemplo, "Fizz" se muestra para los múltiplos de 2, "Buzz" para los múltiplos de 3 y "FizzBuzz" para los múltiplos de ambos (como 6).
Si las entradas son 15, 3 y 5 (los divisores clásicos), la salida debería coincidir con el FizzBuzz original:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzPruébalo tú mismo
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))
}Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloAsignación compuestaRepaso: matemáticas simplesOperadores de comparación7Entrada/salida básica
Función printInterpolación de cadenasEntrada con ReadLineConversión de tiposRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosRepaso: función SigmaRepaso: función de validaciónValores predeterminados13Iteración sobre secuencias
Iteración sobre elementosEl método enumeradoIteración sobre cadenas P1Iteración sobre cadenas P22Variables
Let vs VarAnotaciones de tipoNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesenvolver con If LetGuard LetOperador de coalescencia nilRepaso: desenvoltura segura6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Swift