Якщо ми хочемо щось зібрати за допомогою 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%"
Зареєструйтеся на Exercism, щоб вивчати й опановувати Python, а також 17 концепцій146 вправ та справжнє наставництво від людей, і все це безкоштовно.