Python unit conversions (pint module)
I posted this as the current weekly challenge is related to unit conversions, and there's one day left to enter, this might help some last minute submissions.
STEP 1 (Initialization)
First of all, we need to use the import
statement to import the python pint
module:
import pint
Then we need to use the following statement, to "allow" our program to access the pint database.
To do this, we type up the following:
ureg=pint.UnitRegistry()
STEP 2 (Assigning a variable to a unit value)
Let's create a variable called mylen
.
For example, to assign a distance such as 8 km variable to mylen
, we type up the following statement:
mylen=8*ureg.km
In this case, we are assigning mylen
to 8*ureg.km
. 8
is the "amount" or "quantity" of our length. .km
indicates to python that we are trying assign the number 8
to the unit km
. You can research all the valid units available in the pint unit registry
STEP 3 (Conversion)
Ok, so now we have assigned mylen
to "8 km" (refer above).
We need to convert this to another unit in the length category, say "cm". To do this, we use the .to()
function. This takes a variable, and converts it to the unit parameter entered. For example, to convert mylen
to "cm", we would have to assign the converted value to a variable as well. In this case, we will call ours dest
. To convert mylen
to "cm" and assign the result to dest
, we would type up the following:
dest=mylen.to(ureg.cm)
.
This is assigning the variable dest
to the result of mylen
when converted. the .to()
function is taking the ureg.cm
parameter. Because we wished to convert mylen
to "cm", we typed ureg.cm
as the parameter. If we wanted to assign dest
to the value when mylen
is converted to metres, we would type dest=mylen.to(ureg.m)
You can see that the parameter to the .to()
function has changed from ureg.cm
to ureg.m
because we are changing the unit of the end result. You can change this parameter to any length unit required.
To output dest
, type in, you guessed it, print(dest)
.
THE END
Hope this helped at least a few people. To see this code in action, you can click here to see my unit converter, that uses the pint module and the statements shown in this tutorial.
Feedback, upvotes and comments are appreciated :)