« Reason vs. The Real World | Main | Digitally Restored In The Rain »

September 10, 2002


I just took my pulse, sitting in a chair, a half-hour after drinking a caffeinated pop. 63BPM. Over the last few days, I've taken my resting heartrate, i.e. my BPM just after waking. It averages 57 BPM. I was actually surprised by this. I expected it to be higher. I guess trying to lose some weight and be more consistent in my exercise is bringing it down.

Anyway, following the directions on this page, I calculated my aerobic exercise range, using three different formulae:

Being lazy, I didn't want to punch all the numbers into a calculator every few months as my resting pulse changed with exercise, or every year as my HRmax went down. So I wrote a program:

#!/bin/env python

def HRmaxLO(age):

return 220 - age

def HRmaxHI(age):

return 210 - (0.5 * age)

def WorkLO(age):

HRmax = HRmaxLO(age)

return (HRmax*0.6, HRmax*0.9)

def WorkHI(age):

HRmax = HRmaxHI(age)

return (HRmax*0.6, HRmax*0.9)

def Karvonen(age, restingPulse):

targetHR = HRmaxLO(age)

delta = targetHR - restingPulse

Low = (delta * 0.5) + restingPulse

Hi = (delta * 0.85) + restingPulse

return (Low, Hi)

if __name__ == "__main__":

myAge = 45

restingPulse = 57

print "Heart Range, Low Estimate:", WorkLO(myAge)

print "Heart Range, High Estimate:", WorkHI(myAge)

print "Karvonen Range: ", Karvonen(myAge, restingPulse)

You knew I had to turn this into a computer geek thread sometime, didn't you?

Posted by dpwakefield at September 10, 2002 10:05 AM