Треки
/
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, щоб вивчати й опановувати Python, а також 17 концепцій146 вправ та справжнє наставництво від людей, і все це безкоштовно.