Menu
Coddy logo textTech

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")
}
// morno

O 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).

challenge icon

Desafio

Iniciante

Leia 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: cold
  • 10...19: mild
  • 20...29: warm
  • 30...39: hot
  • 40 e 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
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Swift