Parcours
/
Python
Python
/
Exercices
/
Expert en couleurs de résistances
Expert en couleurs de résistances

Expert en couleurs de résistances

Facile

Introduction

Si tu veux construire quelque chose avec un Raspberry Pi, tu utiliseras probablement des résistances. Comme dans les exercices précédents Resistor Color Duo et Resistor Color Trio, tu vas traduire des bandes de couleur de résistance en libellés lisibles par un humain.

  • Chaque résistance a une valeur de résistance.
  • Les résistances sont petites, tellement petites que si l'on imprimait la valeur de résistance dessus, il serait difficile de la lire. Pour contourner ce problème, les fabricants impriment des bandes de couleur sur les résistances afin d'indiquer leurs valeurs de résistance.
  • Chaque bande joue le rôle d'un chiffre d'un nombre. Par exemple, si l'on imprimait une bande marron (valeur 1) suivie d'une bande verte (valeur 5), cela donnerait le nombre 15.

Instructions

Dans cet exercice, tu vas créer un programme bien pratique pour ne plus avoir à mémoriser les valeurs des bandes. Ce programme prendra en entrée 1, 4 ou 5 couleurs et renverra la valeur correcte, en ohms. Les bandes de couleur sont encodées comme suit :

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

Dans Resistor Color Trio, tu as décodé les trois premières bandes de couleur. Par exemple : orange-orange-brown donnait la valeur principale 330. Dans cet exercice, tu vas devoir y ajouter la notion de tolérance. La tolérance correspond à l'écart maximal dont une valeur peut s'écarter au-dessus ou en dessous de la valeur principale. Par exemple, si la dernière bande est green, la tolérance maximale sera de ±0.5%.

La bande de tolérance aura l'une de ces valeurs :

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

Une résistance à quatre bandes est constituée comme ceci :

Band_1 Band_2 Band_3 Band_4
Value_1 Value_2 Multiplier Tolerance

Exemples :

  • orange-orange-brown-green donnerait 330 ohms avec une tolérance de ±0.5%.
  • orange-orange-red-grey donnerait 3300 ohms avec une tolérance de ±0.05%.

La différence entre une résistance à quatre bandes et une résistance à cinq bandes, c'est que la résistance à cinq bandes possède une bande supplémentaire pour indiquer une valeur plus précise.

Band_1 Band_2 Band_3 Band_4 Band_5
Value_1 Value_2 Value_3 Multiplier Tolerance

Exemples :

  • orange-orange-orange-black-green donnerait 333 ohms avec une tolérance de ±0.5%.
  • orange-red-orange-blue-violet donnerait 323 million ohms avec une tolérance de ±0.1%.

Il existe aussi des résistances à une seule bande. Les résistances à une seule bande n'ont que la couleur black, avec une valeur de 0.

Ton programme doit traduire une list de couleurs de bandes de résistance en une étiquette :

"... ohms ±...%"

Ainsi, une list en entrée ["orange", "orange", "black", "green"] doit renvoyer :

"33 ohms ±0.5%"

Quand il y a des milliers d'ohms, on dit « kiloohms ». C'est un peu comme dire « kilomètre » pour 1000 mètres, et « kilogramme » pour 1000 grammes.

Ainsi, une list en entrée ["orange", "orange", "orange", "grey"] doit renvoyer :

"33 kiloohms ±0.05%"

Quand il y a des millions d'ohms, on dit « megaohms ».

Ainsi, une list en entrée ["orange", "orange", "blue", "red"] doit renvoyer :

"33 megaohms ±2%"

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Python Exercism

Prêt à commencer Expert en couleurs de résistances ?

Inscris-toi sur Exercism pour apprendre et maîtriser Python avec 17 concepts146 exercices, et un vrai mentorat humain, le tout gratuitement.