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.
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 :
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 :
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 :
330 ohms avec une tolérance de ±0.5%.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 :
333 ohms avec une tolérance de ±0.5%.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%"
Inscris-toi sur Exercism pour apprendre et maîtriser Python avec 17 concepts146 exercices, et un vrai mentorat humain, le tout gratuitement.