Rutas
/
Python
Python
/
Ejercicios
/
Experto en colores de resistencias
Experto en colores de resistencias

Experto en colores de resistencias

Fácil

Introducción

Si quieres construir algo con una Raspberry Pi, probablemente uses resistencias. Al igual que en los ejercicios anteriores Resistor Color Duo y Resistor Color Trio, traducirás bandas de color de resistencias a etiquetas legibles para humanos.

  • Cada resistencia tiene un valor de resistencia.
  • Las resistencias son pequeñas, tan pequeñas que, si imprimieras el valor de resistencia en ellas, sería difícil de leer. Para solucionar este problema, los fabricantes imprimen bandas codificadas por colores en las resistencias para indicar sus valores de resistencia.
  • Cada banda actúa como un dígito de un número. Por ejemplo, si imprimieran una banda brown (valor 1) seguida de una banda green (valor 5), se traduciría al número 15.

Instrucciones

En este ejercicio vas a crear un programa muy útil para no tener que recordar los valores de las bandas. El programa recibirá 1, 4 o 5 colores como entrada y devolverá el valor correcto, en ohmios. Las bandas de color se codifican así:

  • black: 0
  • brown: 1
  • red: 2
  • orange: 3
  • yellow: 4
  • green: 5
  • blue: 6
  • violet: 7
  • grey: 8
  • white: 9

En Resistor Color Trio descifraste las tres primeras bandas de color. Por ejemplo: orange-orange-brown se traduce al valor principal 330. En este ejercicio tendrás que añadir la tolerancia a la mezcla. La tolerancia es la cantidad máxima que un valor puede estar por encima o por debajo del valor principal. Por ejemplo, si la última banda es green, la tolerancia máxima será de ±0.5%.

La banda de tolerancia tendrá uno de estos valores:

  • grey - 0.05%
  • violet - 0.1%
  • blue - 0.25%
  • green - 0.5%
  • brown - 1%
  • red - 2%
  • gold - 5%
  • silver - 10%

La resistencia de cuatro bandas se construye así:

Banda_1 Banda_2 Banda_3 Banda_4
Valor_1 Valor_2 Multiplicador Tolerancia

Ejemplos:

  • orange-orange-brown-green serían 330 ohmios con una tolerancia de ±0.5%.
  • orange-orange-red-grey serían 3300 ohmios con una tolerancia de ±0.05%.

La diferencia entre una resistencia de cuatro bandas y una de cinco bandas es que la de cinco bandas tiene una banda adicional que indica un valor más preciso.

Banda_1 Banda_2 Banda_3 Banda_4 Banda_5
Valor_1 Valor_2 Valor_3 Multiplicador Tolerancia

Ejemplos:

  • orange-orange-orange-black-green serían 333 ohmios con una tolerancia de ±0.5%.
  • orange-red-orange-blue-violet serían 323 million ohmios con una tolerancia de ±0.1%.

También existen resistencias de una sola banda. Las resistencias de una banda solo tienen el color black, con un valor de 0.

Tu programa debe traducir una list de entrada con los colores de las bandas de una resistencia a una etiqueta:

"... ohms ±...%"

Así, una list de entrada como ["orange", "orange", "black", "green"] debería devolver:

«33 ohms ±0.5%»

Cuando hay miles de ohmios, decimos «kiloohms». Es parecido a decir «kilómetro» para 1000 metros y «kilogramos» para 1000 gramos.

Así, una list de entrada como ["orange", "orange", "orange", "grey"] debería devolver:

«33 kiloohms ±0.05%»

Cuando hay millones de ohmios, decimos «megaohms».

Así, una list de entrada como ["orange", "orange", "blue", "red"] debería devolver:

«33 megaohms ±2%»

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Python Exercism

¿Listo para empezar Experto en colores de resistencias?

Regístrate en Exercism para aprender y dominar Python con 17 conceptos146 ejercicios y mentoría humana real, todo gratis.