Intervalos no Switch
Parte da seção Lógica e Fluxo do Journey de Swift da Coddy. Lição 10 de 56.
Você usou switch com intervalos nos fundamentos. A mesma técnica se aplica a problemas reais de classificação, nos quais cada case abrange uma faixa de valores.
let temp = 22
switch temp {
case ..<0: print("freezing")
case 0..<10: print("cold")
case 10..<20: print("mild")
case 20..<30: print("warm")
default: print("hot")
}
// mornoO primeiro case ..<0 usa a forma de intervalo unilateral: “qualquer valor estritamente menor que 0”. Você também pode usar 0... para significar “0 ou maior”.
Os casos são verificados de cima para baixo, e a primeira correspondência vence; portanto, ordene-os do menor para o maior (ou use default para abranger todos os casos).
Desafio
InicianteLeia um único inteiro da entrada: uma temperatura em Celsius. Imprima um destes rótulos usando um único switch com casos de intervalo:
- Abaixo de
0(negativos):freezing 0...9:cold10...19:mild20...29:warm30...39:hot40e acima:scorching
Para a entrada 22, a saída é warm.
Experimente você mesmo
let temp = Int(readLine()!)!
// TODO: faça switch em temp usando ranges, imprima o rótulo correspondente
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica e Fluxo
1Strings a Fundo
Contagem e ÍndicesCase e TrimBusca em StringsDivisão e JunçãoSubstituindo SubstringsRecapitulação - Verificação de Nome de Usuário4Conjuntos
Criando ConjuntosUnião e InterseçãoSubtração e Diferença SimétricaSubconjunto e SuperconjuntoRecapitulação - Filtro de Tags7Projeto - Monitor de Hábitos
Visão Geral do ProjetoMarcar como Concluído10Projeto - Mecanismo de Quiz
Visão Geral do ProjetoFazer Perguntas2Intervalos e Strides
Fechado vs Meio-AbertoStrideMétodos de IntervaloIntervalos no SwitchRecapitulação - Grade de Calendário5Funções de Ordem Superior Parte 1
MapFilterReduceEncadeando map, filter, reduceRecapitulação - Estatísticas de PalavrasPratique por conta própria: Playground de Swift