トラック
/
Python
Python
/
演習
/
抵抗器カラーコードのエキスパート
抵抗器カラーコードのエキスパート

抵抗器カラーコードのエキスパート

初級

はじめに

Raspberry Piを使って何かを作ろうと思ったら、おそらく_抵抗器_を使うことになるでしょう。前のResistor Color DuoとResistor Color Trioの演習と同じように、ここでは抵抗のカラーバンドを、人間が読めるラベルに変換していきます。

  • 抵抗器にはそれぞれ抵抗値があります。
  • 抵抗器はとても小さく、抵抗値をそのまま印刷しても読み取れないほどです。この問題を回避するために、メーカーは抵抗値を示す色分けされたバンドを抵抗器に印刷しています。
  • それぞれのバンドは、数値の1桁を表します。たとえば、茶色のバンド(値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では、最初の3つのカラーバンドを数値に変換しました。 たとえば、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%

4バンドの抵抗器は、次のように構成されています。

Band_1 Band_2 Band_3 Band_4
Value_1 Value_2 Multiplier Tolerance

例:

  • orange-orange-brown-greenは、330オームで、許容差は±0.5%です。
  • orange-orange-red-greyは、3300オームで、許容差は±0.05%です。

4バンドと5バンドの抵抗器の違いは、5バンドの抵抗器には、より精密な値を示すためのバンドが1つ余分にあることです。

Band_1 Band_2 Band_3 Band_4 Band_5
Value_1 Value_2 Value_3 Multiplier Tolerance

例:

  • orange-orange-orange-black-greenは、333オームで、許容差は±0.5%です。
  • orange-red-orange-blue-violetは、323 millionオームで、許容差は±0.1%です。

バンドが1つだけの抵抗器もあります。 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を学んでマスターできます。すべて無料です。