def filter_fever_interval(pat_fn, pat_in_fn, pat_out_fn, low_b, up_b):
    with open(pat_fn, 'r') as fpat, open(pat_in_fn, 'w') as fpin, open(pat_out_fn, 'w') as fpout:
        # header = fin.readline()
        # i = header.find(',')
        # fout.write('NAME,AVG'+header[i:])
        n = nin = nout = 0
        for line in fpat:
            # decompose line
            l = line.strip().split(',')
            name = l[0]
            ltempstr = l[1:]
            ltemp = []
            for t in ltempstr:
                ltemp.append(float(t))
                
            # compute avg ltmep
            avg = round(sum(ltemp)/len(ltemp), 2)
            
            # compose output line
            ltempstr.extend([name, str(avg)])
            new_line = ','.join(ltempstr) + '\n'
            
            # write output line
            if low_b <= avg <= up_b:
                fpin.write(new_line)
                nin += 1
            else:
                fpout.write(new_line)
                nout += 1
            n += 1
    return n, nin, nout

'''
filter_fever_interval('patients.txt', 'patin37.1.38.0.txt', 'patout37.1.38.0.txt', 37.1, 38.0)
'''
