Adicionando o Diferencial
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 61 de 86.
Desafio
FácilNa lição anterior, você criou um loop que executa o FizzBuzz de 1 até um determinado limite usando os divisores fixos 3 e 5. Agora, adicione uma variação tornando os divisores customizáveis!
Modifique sua função fizzBuzz para aceitar dois parâmetros adicionais para os divisores personalizados:
- Atualize a assinatura da função para:
fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String - Use
fizzAtem vez de 3 para a verificação de "Fizz" - Use
buzzAtem vez de 5 para a verificação de "Buzz" - Os valores padrão garantem que o FizzBuzz clássico ainda funcione quando os divisores não forem especificados
Você receberá as seguintes entradas:
- O limite superior (inteiro)
- O primeiro divisor para "Fizz" (inteiro)
- O segundo divisor para "Buzz" (inteiro)
Atualize seu loop para passar esses divisores personalizados para a função para cada número.
Por exemplo, se as entradas forem 10, 2 e 3, a saída deve ser:
1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
FizzNeste exemplo, "Fizz" é impresso para múltiplos de 2, "Buzz" para múltiplos de 3 e "FizzBuzz" para múltiplos de ambos (como 6).
Se as entradas forem 15, 3 e 5 (os divisores clássicos), a saída deve corresponder ao FizzBuzz original:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzExperimente você mesmo
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 as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa