如果你想用 Raspberry Pi 打造一些東西,很可能會用到_電阻_。
就像先前的 Resistor Color Duo 和 Resistor Color Trio 練習一樣,你要把電阻的色環轉換成人類可讀的標籤。
在這個練習中,你要建立一個實用的程式,這樣你就不必記住各色帶的數值。 這個程式會接受 1、4 或 5 種顏色作為輸入,並以歐姆為單位輸出正確的數值。 色帶的編碼方式如下:
在Resistor Color Trio這個練習中,你已經解碼了前三個色帶。
例如:orange-orange-brown 會轉換成主數值 330。
在這個練習中,你需要在其中加入_容差_。
容差就是數值可以高於或低於主數值的最大幅度。
例如,如果最後一個色帶是 green,最大容差就是 ±0.5%。
容差色帶會是下列其中一個數值:
四色帶電阻的組成方式如下:
| 色帶 1 | 色帶 2 | 色帶 3 | 色帶 4 |
|---|---|---|---|
| 數值 1 | 數值 2 | 乘數 | 容差 |
例如:
330 歐姆,容差為 ±0.5%。3300 歐姆,容差為 ±0.05%。四色帶與五色帶電阻的差別在於,五色帶電阻多了一個色帶,用來表示更精確的數值。
| 色帶 1 | 色帶 2 | 色帶 3 | 色帶 4 | 色帶 5 |
|---|---|---|---|---|
| 數值 1 | 數值 2 | 數值 3 | 乘數 | 容差 |
例如:
333 歐姆,容差為 ±0.5%。323 million 歐姆,容差為 ±0.1%。另外也有一色帶電阻。 一色帶電阻只有 black 這個顏色,數值為 0。
你的程式應該把電阻色帶顏色的輸入 list 轉換成標籤:
"... ohms ±...%"
所以當輸入的 list 是 ["orange", "orange", "black", "green"] 時,應該回傳:
「33 ohms ±0.5%」
當歐姆數達到數千時,我們會說「kiloohms」。 這就像把 1000 公尺說成「公里」、把 1000 公克說成「公斤」一樣。
所以當輸入的 list 是 ["orange", "orange", "orange", "grey"] 時,應該回傳:
「33 kiloohms ±0.05%」
當歐姆數達到數百萬時,我們會說「megaohms」。
所以當輸入的 list 是 ["orange", "orange", "blue", "red"] 時,應該回傳:
「33 megaohms ±2%」