python
write a code that decodes the coloured bands on a resistor.
Each colour band printed on a resistor has a corresponding numeric value, as shown in the table below:
Colour |
Numeric value |
---|
black |
0 |
brown |
1 |
red |
2 |
orange |
3 |
yellow |
4 |
green |
5 |
blue |
6 |
violet |
7 |
grey |
8 |
white |
9 |
To calculate the total resistance value, the following formula should be used:
resistance=(10a+b)⋅10^c
where a, b, and c are the numeric values of the first, second, and third colour bands respectively.
For example, let's say that the colour bands on a resistor are red-green-orange. In this case, a=2, b=5, and c=3 (using the table). Hence the resistance value is 25000 ohms:
resistance=(10*2+5)⋅10^3=25000 ohms
Your task is to write a program which asks the user to input the three colour bands. The program should then calculate and output the resistance value indicated by the bands.
As part of your solution, you must define and use a function named colour_to_number. This function should take one argument, the colour of a band, and return its corresponding numeric value. For example, colour_to_number('red') should return 2.