[Tutor] Python closes out on attempt to run script

Matthew Speltz matthew.speltz at gmail.com
Sat Mar 26 20:05:52 CET 2011


I'm trying to teach myself python and have run across a rather
annoying error.  I'm not sure exactly where the fault lies, so please
pardon me for posting too much information, I'm not sure what would be
relevant.

I'm running the Python 3.2 Windows X86-64 MSI Installer found on
http://www.python.org/download

It opens fine, seems to run other scripts fine, but fails when I try
to run my temperature converter script.  I have tried uninstalling and
reinstalling Python a couple times, but it fails the exact same way.
I try to leave debugging on in IDLE, but all the windows simply close
and the processes exit.  Any ideas on what to try next to fix this?

[code]
#!usr/bin/python
# Filename Temp_converter.py

print('''Temperature converter, by ***** *****.\n'
      Please enter the Temperature you wish to convert, followed
      by the unit (C or F).''')

while True: #This forces the program to come back to the beginning if
the units end up being entered incorrectly.
    raw = input(' > ') #prompt for temp

    windchill = False #used later, defining now

    if raw.endswith('F') or raw.endswith('f'): #Fahrenheit statement
        temp = int(raw.strip('Ff ')) #Returns just the numeric value
        unit = 'Celsius' #notes what we're converting to

        if temp <= 40: #if appropriate, offers to calculate wind chill
            windchill = True
            tempf = temp #sets tempf for use as the fahrenheit format
for windchill
            global tempf

        temp = (5/9)*(temp-32) #Converts Temperature


        break #operation completed, move to close

    elif raw.endswith('C') or raw.endswith('c'): #Celsius statement
        temp = int(raw.strip('Cc ')) #Returns just the numberic value
        unit = 'Fahrenheit'

        temp = (9/5)*temp+32 #Converts Temperature

        if temp <= 40: #if appropriate, offers to calculate wind chill
            windchill = True
            tempf = temp #sets tempf for use as the fahrenheit format
for windchill
            global tempf

        break #operation completed, move to close

    else:
        print('Incorrect format, please try again')

print ('Temperature in {0} is {1} .'.format(unit, temp)) #Prints
results from while loop

if windchill is True:
    print ('For the wind chill, please enter the average wind speed in mph')
    raw = input(' > ')

    wind = int(raw.strip('mph ')) #in here to force last user input to
a float number, also wind is used in windchill calulation

    chill = 35.74 + (.6215 * tempf) - 35.75(wind**.16) + .4275 *
tempf(wind**.16) #formula for wind chill

    print ('The windchill for {0} degrees {1} at {2} mph is
{3}'.format(temp, unit, wind, chill))
[/code]

-- 
-Matthew Speltz


More information about the Tutor mailing list