PI = 3.14159265358793
inputs = ['3.1416rd', '90dr', '212fc', '70cf', '100cr', '315.15kc']
def dr(degrees):
return degrees * (PI / 180)
def rd(radians):
return radians * (180 / PI)
def fc(fahrenheit):
return (fahrenheit - 32) * (5 / 9)
def fk(fahrenheit):
return fc(fahrenheit) + 273.15
def cf(celsius):
return celsius * (9 / 5) + 32
def ck(celsius):
return celsius + 273.15
def kf(kelvin):
return cf(kc(kelvin))
def kc(kelvin):
return kelvin - 273.15
conversions = {
'dr': dr,
'rd': rd,
'fc': fc,
'fk': fk,
'cf': cf,
'ck': ck,
'kf': kf,
'kc': kc
}
def convert(input_string):
function = input_string[-2:]
if function in conversions:
amount = input_string[:-2]
converted_to = input_string[-1:]
return '{:.2f}{}'.format(conversions[function](float(amount)), converted_to)
else:
return 'No candidate for conversion.'
def main():
for input_string in inputs:
print(convert(input_string))
main()
UEkgPSAzLjE0MTU5MjY1MzU4NzkzCmlucHV0cyA9IFsnMy4xNDE2cmQnLCAnOTBkcicsICcyMTJmYycsICc3MGNmJywgJzEwMGNyJywgJzMxNS4xNWtjJ10KCmRlZiBkcihkZWdyZWVzKToKICAgcmV0dXJuIGRlZ3JlZXMgKiAoUEkgLyAxODApCgpkZWYgcmQocmFkaWFucyk6CiAgICByZXR1cm4gcmFkaWFucyAqICgxODAgLyBQSSkKCmRlZiBmYyhmYWhyZW5oZWl0KToKICAgIHJldHVybiAoZmFocmVuaGVpdCAtIDMyKSAqICg1IC8gOSkgCgpkZWYgZmsoZmFocmVuaGVpdCk6CiAgICByZXR1cm4gZmMoZmFocmVuaGVpdCkgKyAyNzMuMTUKCmRlZiBjZihjZWxzaXVzKToKICAgIHJldHVybiBjZWxzaXVzICogKDkgLyA1KSArIDMyCgpkZWYgY2soY2Vsc2l1cyk6CiAgICByZXR1cm4gY2Vsc2l1cyArIDI3My4xNQoKZGVmIGtmKGtlbHZpbik6CiAgICByZXR1cm4gY2Yoa2Moa2VsdmluKSkKCmRlZiBrYyhrZWx2aW4pOgogICAgcmV0dXJuIGtlbHZpbiAtIDI3My4xNQoKY29udmVyc2lvbnMgPSB7CiAgICAnZHInOiBkciwKICAgICdyZCc6IHJkLAogICAgJ2ZjJzogZmMsCiAgICAnZmsnOiBmaywKICAgICdjZic6IGNmLAogICAgJ2NrJzogY2ssCiAgICAna2YnOiBrZiwKICAgICdrYyc6IGtjCn0KCmRlZiBjb252ZXJ0KGlucHV0X3N0cmluZyk6CiAgICBmdW5jdGlvbiA9IGlucHV0X3N0cmluZ1stMjpdCiAgICBpZiBmdW5jdGlvbiBpbiBjb252ZXJzaW9uczoKICAgICAgICBhbW91bnQgPSBpbnB1dF9zdHJpbmdbOi0yXQogICAgICAgIGNvbnZlcnRlZF90byA9IGlucHV0X3N0cmluZ1stMTpdCiAgICAgICAgcmV0dXJuICd7Oi4yZn17fScuZm9ybWF0KGNvbnZlcnNpb25zW2Z1bmN0aW9uXShmbG9hdChhbW91bnQpKSwgY29udmVydGVkX3RvKQogICAgZWxzZToKICAgICAgICByZXR1cm4gJ05vIGNhbmRpZGF0ZSBmb3IgY29udmVyc2lvbi4nCgpkZWYgbWFpbigpOgogICAgZm9yIGlucHV0X3N0cmluZyBpbiBpbnB1dHM6CiAgICAgICAgcHJpbnQoY29udmVydChpbnB1dF9zdHJpbmcpKQoKbWFpbigpCg==