Tracks
/
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 usarás resistencias. Al igual que en los ejercicios anteriores Resistor Color Duo y Resistor Color Trio, vas a traducir las bandas de colores de las resistencias a etiquetas legibles para las personas.

  • 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 con códigos de colores en las resistencias para indicar sus valores de resistencia.
  • Cada banda funciona como un dígito de un número. Por ejemplo, si imprimieran una banda marrón (valor 1) seguida de una banda verde (valor 5), se traduciría al número 15.

Instrucciones

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

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

En Resistor Color Trio decodificaste las primeras tres bandas de color. Por ejemplo: orange-orange-brown se traduce al valor principal 330. En este ejercicio vas a tener que agregar 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 compone así:

Banda_1 Banda_2 Banda_3 Banda_4
Valor_1 Valor_2 Multiplicador Tolerancia

Ejemplos:

  • orange-orange-brown-green serían 330 ohms con una tolerancia de ±0.5%.
  • orange-orange-red-grey serían 3300 ohms 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 para indicar 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 ohms con una tolerancia de ±0.5%.
  • orange-red-orange-blue-violet serían 323 million ohms con una tolerancia de ±0.1%.

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

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

"... ohms ±...%"

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

«33 ohms ±0.5%»

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

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

«33 kiloohms ±0.05%»

Cuando hay millones de ohms, decimos «megaohms».

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

«33 megaohms ±2%»

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

¿Todo 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.