As far as asking the user for input use either raw_input or input depending on your version of Python. Then the conversion is simple math. Just google "1 kilometer to miles" and it will give you the conversion rate.
Not much help to give you without solving it.
Look a little on this.
>>> km = raw_input('How many km? ')
How many km? 100
>>> #As you see km is now a string
>>> #make intreger
>>> #100 * ??? what mystery number give miles?
For python 2.x use always raw_input(and convert to what you need)
Python 3.x has only input same as raw_input(it return a string too)
Whenever I start a script I usually write out in plain English what I want to do. It will keep you organized and you will never not know "where to start." Comment out the plain english, and script around it.
For example, here is the "skeleton" for a script to get the statistics of every major league baseball player:
Now, this script would obviously be tediously complicated and long, boring, etc... But, I know know where to start. I first need to query the MLB database. I may want to do a sub-skeleton here, because qerying a database has several different steps, so I might have to do some googling on querying a database using python. But, I know what I'm doing, and I've split my code into 3 parts. Yay me.
So let's see a skeleton for your script, and then we'll give you some tips. :)
Here are some more example skeletons:
Process a restaurant bill
#get all the items ordered
#get the total price
#add gratuity if there are more than 6 people
#print the bill
rename all files in a directory
#get a list of all the files in the directory
#loop through the files, renaming them