Percursos
/
Python
Python
/
Exercícios
/
Especialista em Cores de Resistências
Especialista em Cores de Resistências

Especialista em Cores de Resistências

Fácil

Introdução

Se queres construir algo com um Raspberry Pi, provavelmente vais usar resistências. Tal como nos exercícios anteriores Resistor Color Duo e Resistor Color Trio, vais traduzir as faixas de cor das resistências em etiquetas legíveis para humanos.

  • Cada resistência tem um valor de resistência.
  • As resistências são pequenas, tão pequenas que, se imprimissem nelas o valor da resistência, seria difícil de ler. Para contornar este problema, os fabricantes imprimem faixas com código de cor nas resistências, para indicar os seus valores de resistência.
  • Cada faixa funciona como um algarismo de um número. Por exemplo, se imprimissem uma faixa castanha (valor 1) seguida de uma faixa verde (valor 5), corresponderia ao número 15.

Instruções

Neste exercício, vais criar um programa útil para não teres de te lembrar dos valores das bandas. O programa recebe 1, 4 ou 5 cores como valores de entrada e devolve o valor correto em ohms. As bandas de cor estão codificadas da seguinte forma:

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

Em Resistor Color Trio descodificaste as três primeiras bandas de cor. Por exemplo: orange-orange-brown traduz-se no valor principal 330. Neste exercício, vais ter de acrescentar a tolerância à mistura. A tolerância é o máximo que um valor pode estar acima ou abaixo do valor principal. Por exemplo, se a última banda for green, a tolerância máxima será de ±0.5%.

A banda de tolerância tem um destes valores:

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

A resistência de quatro bandas é composta da seguinte forma:

Banda_1 Banda_2 Banda_3 Banda_4
Valor_1 Valor_2 Multiplicador Tolerância

Exemplos:

  • orange-orange-brown-green corresponderia a 330 ohms com uma tolerância de ±0.5%.
  • orange-orange-red-grey corresponderia a 3300 ohms com uma tolerância de ±0.05%.

A diferença entre uma resistência de quatro bandas e uma de cinco bandas é que a de cinco bandas tem uma banda extra que indica um valor mais preciso.

Banda_1 Banda_2 Banda_3 Banda_4 Banda_5
Valor_1 Valor_2 Valor_3 Multiplicador Tolerância

Exemplos:

  • orange-orange-orange-black-green corresponderia a 333 ohms com uma tolerância de ±0.5%.
  • orange-red-orange-blue-violet corresponderia a 323 million ohms com uma tolerância de ±0.1%.

Há também resistências de uma só banda. As resistências de uma só banda têm apenas a cor black, com um valor de 0.

O teu programa deve traduzir uma list de entrada com as cores das bandas da resistência numa etiqueta:

"... ohms ±...%"

Por isso, uma list de entrada ["orange", "orange", "black", "green"] deve devolver:

"33 ohms ±0.5%"

Quando há milhares de ohms, dizemos "kiloohms". É semelhante a dizer "kilometer" para 1000 meters e "kilograms" para 1000 grams.

Por isso, uma list de entrada ["orange", "orange", "orange", "grey"] deve devolver:

"33 kiloohms ±0.05%"

Quando há milhões de ohms, dizemos "megaohms".

Por isso, uma list de entrada ["orange", "orange", "blue", "red"] deve devolver:

"33 megaohms ±2%"

Editar via GitHub A ligação abre numa nova janela ou separador
Python Exercism

Estás pronto para começar Especialista em Cores de Resistências?

Inscreve-te no Exercism para aprenderes e dominares Python com 17 conceitos146 exercícios, e mentoria humana real, tudo grátis.