Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

283
Visualizações
¿Cuál es la forma más pitónica de implementar una condición de caso de cambio basado en rango numérico?

Quiero entender la forma más pitónica de implementar un caso de cambio de base de rango numérico.

Considere la siguiente función como un ejemplo para proporcionar sugerencias.

 def bucket(input_number): if input_number <= 29: bucket = 1 elif 29 < input_number <= 59: bucket = 2 elif 59 < input_number <= 89: bucket = 3 elif 89 < input_number <= 119: bucket = 4 elif 119 < input_number <= 149: bucket = 5 elif 149 < input_number <= 179: bucket = 6 elif 179 < input_number <= 209: bucket = 7 elif 209 < input_number <= 239: bucket = 8 elif 239 < input_number <= 269: bucket = 9 elif 269 < input_number <= 299: bucket = 10 elif 299 < input_number <= 329: bucket = 11 elif 329 < input_number <= 359: bucket = 12 elif input_number > 359: bucket = 13 else: bucket = 0 return bucket

Tenga en cuenta:

  • No asuma que se puede construir una ecuación o lógica para los rangos.
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Puedes dividir por 30 como a continuación:

 def bucket(input_number): if input_number > 359: return 13 elif input_number < 0: return 0 return input_number // 30 + 1
over 4 years ago · Santiago Trujillo Relatório

0

No sé si es "pitónico" o efectivo en tiempo de ejecución, pero parece una forma más agradable:

 bucket_dict = {29: 2, 59: 3, 89: 4, 119: 5, ...} def bucket(input_number): answer = 1 # number to return if input_number is smaller than the lowest value for k in sorted(bucket_dict.keys()): if input_number <= k: return answer answer = bucket_dict[k] return 13 # number to return if input_number is larger than the highest value
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda