Welcome, guest | Sign In | My Account | Store | Cart

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.

Python, 76 lines
 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()

2 comments

Amit Ghosh 7 years, 9 months ago  # | flag

check the line 63..f2K 'K' will be small 'k'

shoaib 6 years, 1 month ago  # | flag

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():

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 > 0 and user_input <= 7:
        if user_input == 7:
            quit()
        t = get_user_input()
        tmp = d[user_input]['fun'](t)
    else:
        print str(user_input) + " is not a valid selection, please try again\n"

if __name__ == "__main__": main()

Created by Captain DeadBones on Fri, 3 Jan 2014 (MIT)
Python recipes (4591)
Captain DeadBones's recipes (47)

Required Modules

  • (none specified)

Other Information and Tasks