Adicionando o Toque Especial
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 limite fornecido usando os divisores fixos 3 e 5. Agora, adicione uma variação tornando os divisores personalizá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 continue funcionando 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 à função para cada número.
Por exemplo, se as entradas forem 10, 2 e 3, a saída deverá 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 deverá 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 móduloAtribuição compostaRecapitulação - Matemática simplesOperadores de comparação7Entrada e Saída Básicas
Função printInterpolação de stringsEntrada com readlineConversão de tiposRecapitulação - Até 120Recapitulação - Verdadeiro ou falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoRótulos de argumentosRevisão - função SigmaRevisão - função de validaçãoValores padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeradoIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de tipoNúmerosStringBooleanoConvenções de nomenclaturaRecapitulação - Inicializar variáveis5Operadores — Parte 2
Operadores lógicos — Parte 1Operadores lógicos — Parte 2Revisão — Lógica simplesOperadores lógicos — Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz3Optionais
O que são OptionaisDesembrulhando com If LetGuard LetOperador de Coalescência de NilRecapitulação - Desembrulhamento Seguro6Tomada de Decisões
Instrução IfIf - ElseRecapitulação - Calculadora SimplesInstrução SwitchSwitch com Intervalos9Laços de Repetição
Laço For-InLaço WhileLaço Repeat-WhileBreakContinueRevisão - FatorialIntervalos em LaçosLaço AninhadoRevisão - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRevisão - Lista de ProdutosRevisão - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Swift