See the index page for context.

#!/usr/bin/python # Translation of program "CONVRT" from D.M. Etter, _Structured FORTRAN # 77 for Engineers and Scientists_, p.46 # This program converts kilowatt-hours to Joules. kwh = float(raw_input("Enter energy in kilowatt-hours: ")) joules = 3.6e6*kwh print "%6.2f kilowatt-hours is %9.2e Joules" % (kwh, joules) # Notes: # # 1. raw_input reads keyboard input as a string. float(somestring) # converts somestring into a floating-point representation. Similarly, # int(somestring) converts somestring into an integer representation # and long(somestring) converts somestring into a long integer # representation. # # 2. Etter's text shows 0.20e+08 Joules as the result, when 1.98e+07 # is actually correct. Real variables must have been much lower # precision in the original text.

#!/usr/bin/python # Translation of program "GROWTH" from D.M. Etter, _Structured FORTRAN # 77 for Engineers and Scientists_, p.49 # This program predicts bacterial growth from math import exp yold = float(raw_input("Enter initial population: ")) time = float(raw_input("Enter time elapsed in hours: ")) ynew = yold*exp(1.386*time) print "Initial population = %9.4f" % (yold) print "Time elapsed (hours) = %9.4f" % (time) print "Predicted population = %9.4f" % (ynew) # Notes: # # Any math beyond the most basic operations (addition, subtraction, # multiplication, division) requires the math module to be # available. You can either use the form 'from math import exp, log, # log10, pow, ...' to import specific functions from the math module # and call them by name as 'exp', 'log', etc. , or the form 'import # math' to import the entire module, and call them as 'math.exp', # 'math.log', etc. # # Option 1: # # from math import exp # ... # ynew = yold*exp(1.386*time) # # Option 2: # # import math # ... # ynew = yold*math.exp(1.386*time) # # See http://docs.python.org/lib/module-math.html for other functions.

#!/usr/bin/python # Translation of program "DATE" from D.M. Etter, _Structured FORTRAN # 77 for Engineers and Scientists_, p.51 # This program estimates the age of an artifact from the proportion of # carbon remaining in the artifact. from math import log carbon = float(raw_input("Enter proportion remaining for carbon dating: ")) age = (-log(carbon))/0.0001216 print "Estimated age of artifact is = %6.1f years" % (age)

#!/usr/bin/python # Translation of program "TRAIN" from D.M. Etter, _Structured FORTRAN # 77 for Engineers and Scientists_, p.53 # This program computes the horizontal force generated by a train on a # level curve. from math import pow weight = float(raw_input("Enter weight of train in tons: ")) mph = float(raw_input("Enter speed of train in miles per hour: ")) radius = float(raw_input("Enter radius of curve in feet: ")) force = (weight*2000.0/32.0)*(pow((mph*1.4667),2)/radius) print "Train weight - %8.2f tons" % (weight) print "Train speed - %8.2f mph" % (mph) print "Curve radius - %8.2f feet" % (radius) print print "Resulting horizontal force - %8.2f pounds" % (force)

#!/usr/bin/python # Translation of program "RELY" from D.M. Etter, _Structured FORTRAN # 77 for Engineers and Scientists_, p.57 # This program computes the reliability of instrumentation using a # Bernoulli equation. from math import pow print "Enter reliability of single component" p = float(raw_input("(Use percentage between 0.0 and 100.0): ")) n = int(raw_input("Enter number of components in equipment: ")) perc = pow((p/100.0),n)*100.0 print "Percent of the time that the equipment" print "should work without failure is %6.2f%%" % (perc) # Notes: # # See # http://docs.python.org/lib/typesseq-strings.html#typesseq-strings # for more information on formatting strings in Python.