# [Tutor] Function problem

Eri Mendz jerimed at myrealbox.com
Sun Nov 7 13:09:37 CET 2004

```Hello Kent & everyone,

Thanks again for helping. For the regexp question i used the re module
to get it over with. I think the program is fine now, i have modularized
it into different functions:

#!/usr/bin/env python
# filename: tempConvert.py
# a modular version broken down into separate functions
# Author: Eri Mendz
# Sun Nov  7 13:47:50 AST 2004

import sys, re

def print_options():
print '''
THIS IS A TEMPERATURE CONVERSION PROGRAM.
Options:
[C] - convert to Celsius
[F] - convert to Fahrenheit
[P] - print options
[Q] - quit
'''
print_options()

def f2c(ctemp):
return (9/5.0)*ctemp + 32

def c2f(ftemp):
return (ftemp - 32) * 5/9.0

def proceed():
proceed = raw_input("do another conversion? [Y|N]: ")
yes = re.compile('(y|ye|yep|yes|ok|okey|okay)\$', re.IGNORECASE)
if yes.match(proceed):
print_options()
else:
confirmQuit()

def confirmQuit():
ask = raw_input("Really quit program? [Y|N]: ")
yes = re.compile('(y|ye|yep|yes|ok|okey|okay)\$', re.IGNORECASE)
sys.exit(bye())         # call function w/n function
else:
print_options()

try:
getftemp = float(raw_input("enter fahrenheit temperature: "))
print "temp in C is: ", c2f(getftemp)
proceed()
except ValueError:
print "error: not a valid input!"
print_options()

try:
getctemp = float(raw_input("enter centigrade temperature: "))
print "temp in F is: ", f2c(getctemp)
proceed()
except ValueError:
print "error: not a valid input!"
print_options()

def showErrorPrompt():
print "invalid option"
print_options()

def bye():
print "THANK YOU: GOODBYE!!!"

while 1:
choice = raw_input("select options: ")
if choice == 'c' or choice == 'C':
elif choice == 'f' or choice == 'F':
elif choice =='p' or choice == 'P':
print_options()
elif choice =='q' or choice == 'Q':
confirmQuit()
else:
showErrorPrompt()

bye()

I think i can move on now to the next chapter of my tutorial. I'm
intrigue of Bob's class version but i think that can wait until i reach
the topic classes.

--
Regards,
erimendz ** use firefox/thunderbird **

Kent Johnson wrote:
> At 12:26 PM 11/6/2004 +0300, Eri Mendz wrote:
>
>>               getftemp = int(raw_input("enter fahrenheit
temperature: "))
>>
>> How do i make the program accept decimal numbers, not just integers?
>
>
> Use float() instead of int() to convert the input value:
> getftemp = float(raw_input("enter fahrenheit temperature: "))
>
> Kent
>

--
Regards,
erimendz ** use firefox/thunderbird **