This is a basic program in python that can cover between units of temperature. This was written for an article on How to use modules in Python.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | def c2f(t):
	return (t*9/5.0)+32
def c2k(t):
	return t+273.15
def f2c(t):
	return (t-32)*5.0/9
def f2k(t):
	return (t+459.67)*5.0/9
def k2c(t):
	return t-273.15
def k2f(t):
	return (t*9/5.0)-459.67
def get_user_input():
	user_input = 0
	while type(user_input) != type(1.0): 
		user_input = raw_input("Enter degrees to convert: ")
		try:
			user_input = float(user_input)
		except:
			print user_input + " is not a valid entry"
	return user_input
def main():
	menu = "\nTemperature Convertor\n\n"+\
	 	"1. Celsius to Fahrenheit\n"+\
		"2. Celsius to Kelvin\n"+\
		"3. Fahrenheit to Celsius\n"+\
		"4. Fahrenheit to Kelvin\n"+\
		"5. Kelvin to Celsius\n"+\
    		"6. Kelvin to Fahrenheit\n"+\
		"7. Quit"
		
	user_input = 0
	while user_input != 7: 
		print menu
		user_input = raw_input("Please enter a valid selection: ")
		try:
			user_input = int(user_input)
		except:
			print user_input + " is not a valid selction, please try again\n"
		if user_input == 1:
			t = get_user_input()
			print str(t) + " degree Celsius is " + str((c2f(t))) + " degree Fahrenheit" 
		elif user_input == 2:
			t = get_user_input()
			print str(t) + " degree Celsius is " + str((c2k(t))) + " degree Kelvin" 
		elif user_input == 3:
			t = get_user_input()
			print str(t) + " degree Fahrenheit is " + str((f2c(t))) + " degree Celsius" 
		elif user_input == 4:
			t = get_user_input()
			print str(t) + " degree Fahrenheit is " + str((f2K(t))) + " degree Kelvin" 
		elif user_input == 5:
			t = get_user_input()
			print str(t) + " degree Kelvin is " + str((k2c(t))) + " degree Celsius" 
		elif user_input == 6:
			t = get_user_input()
			print str(t) + " degree Kelvin is " + str((k2f(t))) + " degree Fahrenheit" 
		elif user_input == 7:
			quit()
		else: 
			print str(user_input) + " is not a valid selection, please try again\n"
	
if __name__ == "__main__":
	main()
 | 

 Download
Download Copy to clipboard
Copy to clipboard
check the line 63..f2K 'K' will be small 'k'
With below changes,
1. you do not have to remember assignment w.r.t conversion function. For e.g. 1 for celsius to #farehnite.
2. avoid long list of if - else.
def c2f(t): o = (t*9/5.0)+32 print str(t) + " degree Celsius is " + str(o) + " degree Fahrenheit"
def c2k(t): o = t+273.15 print str(t) + " degree Celsius is " + str(o) + " degree Kelvin"
def f2c(t): o = (t-32)*5.0/9 print str(t) + " degree Fahrenheit is " + str(o) + " degree Celsius"
def f2k(t): o = (t+459.67)*5.0/9 print str(t) + " degree Fahrenheit is " + str(o) + " degree Kelvin"
def k2c(t): o = t-273.15 print str(t) + " degree Kelvin is " + str(o) + " degree Celsius"
def k2f(t): o = (t*9/5.0)-459.67 print str(t) + " degree Kelvin is " + str(o) + " degree Fahrenheit"
d = { 1 : {
'fun' : c2f, }, 2 : {
'fun' : c2k, }, 3 : {
'fun' : f2c, }, 4 : {
'fun' : f2k, }, 5 : {
'fun' : k2c, }, 6 : {
'fun' : k2f, }, }
def get_user_input():
def main():
if __name__ == "__main__": main()