學習軌道
/
Python
Python
/
練習
/
電阻色碼專家
電阻色碼專家

電阻色碼專家

簡單

簡介

如果你想用 Raspberry Pi 打造一些東西,很可能會用到_電阻_。 就像先前的 Resistor Color Duo 和 Resistor Color Trio 練習一樣,你要把電阻的色環轉換成人類可讀的標籤。

  • 每個電阻都有一個電阻值。
  • 電阻很小,小到如果把電阻值印在上面的話,會很難辨識。 為了解決這個問題,製造商會在電阻上印上以顏色編碼的色環,用來表示它們的電阻值。
  • 每個色環代表數字中的一位數。 舉例來說,如果印上的是一個棕色色環(值為 1),後面接著一個綠色色環(值為 5),就會轉換成數字 15。

說明

在這個練習中,你要建立一個實用的程式,這樣你就不必記住各色帶的數值。 這個程式會接受 1、4 或 5 種顏色作為輸入,並以歐姆為單位輸出正確的數值。 色帶的編碼方式如下:

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

在Resistor Color Trio這個練習中,你已經解碼了前三個色帶。 例如:orange-orange-brown 會轉換成主數值 330。 在這個練習中,你需要在其中加入_容差_。 容差就是數值可以高於或低於主數值的最大幅度。 例如,如果最後一個色帶是 green,最大容差就是 ±0.5%。

容差色帶會是下列其中一個數值:

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

四色帶電阻的組成方式如下:

色帶 1 色帶 2 色帶 3 色帶 4
數值 1 數值 2 乘數 容差

例如:

  • orange-orange-brown-green 代表 330 歐姆,容差為 ±0.5%。
  • orange-orange-red-grey 代表 3300 歐姆,容差為 ±0.05%。

四色帶與五色帶電阻的差別在於,五色帶電阻多了一個色帶,用來表示更精確的數值。

色帶 1 色帶 2 色帶 3 色帶 4 色帶 5
數值 1 數值 2 數值 3 乘數 容差

例如:

  • orange-orange-orange-black-green 代表 333 歐姆,容差為 ±0.5%。
  • orange-red-orange-blue-violet 代表 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%」

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Python Exercism

準備好開始 電阻色碼專家 了嗎?

註冊 Exercism,透過 17 個概念146 個練習 和真人引導來學習並精通 Python,全部免費。