Part B:
The second task is to write that output to a file.
The steps are 1. Open a file for writing, e.g. outfile = open(“output.txt”,”w”)
2. Whenever you print, include the argument file = outfile For example, if you previously had print(x) you will now have print(x, file = outfile)
3. Close the file, e.g. outfile.close()
Show transcribed image text
Expert Answer
import sys
f=open(‘data.txt’)
maxi_height=-(sys.maxsize)
mini_height=sys.maxsize
maxi_weight=-(sys.maxsize)
mini_weight=sys.maxsize
total_height=0
total_weight=0
count_height=0
count_weight=0
print(“{:12s}{:12s}{:12s}{:12s}”.format(“Name”,”Height(m)”,”Weight(kg)”,”BMI”))
for n,line in enumerate(f):
if n==0:
continue
data=line.split()
if data:
height=float(data[1])
weight=float(data[2])
total_height+=height
total_weight+=weight
count_height+=1
count_weight+=1
bmi=weight/height ** 2
print(“{:<12s}{:<12.2f}{:<12.2f}{:<12.2f}”.format(data[0],height,weight,bmi))
if height > maxi_height:
maxi_height=height
if height < mini_height:
mini_height=height
if weight > maxi_weight:
maxi_weight=weight
if weight < mini_weight:
mini_weight=weight
avg_height= total_height/count_height
avg_weight=total_weight/count_weight
avg_bmi=avg_weight/(avg_height ** 2)
bmi2=maxi_weight/(maxi_height ** 2)
bmi3=mini_weight/(mini_height ** 2)
print(“n{:<12s}{:<12.2f}{:<12.2f}{:<12.2f}”.format(“Average”,avg_height,avg_weight,avg_bmi))
print(“{:<12s}{:<12.2f}{:<12.2f}{:<12.2f}”.format(“Average”,maxi_height,maxi_weight,bmi2))
print(“{:<12s}{:<12.2f}{:<12.2f}{:<12.2f}”.format(“Average”,mini_height,mini_weight,bmi3))
SCREENSHOT FOR OUTPUT
PYTHON CODE FOR PART B:
import sys
f=open(‘data.txt’)
output=open(‘output.txt’,’w’)
maxi_height=-(sys.maxsize)
mini_height=sys.maxsize
maxi_weight=-(sys.maxsize)
mini_weight=sys.maxsize
total_height=0
total_weight=0
count_height=0
count_weight=0
print(“{:12s}{:12s}{:12s}{:12s}”.format(“Name”,”Height(m)”,”Weight(kg)”,”BMI”),file=output)
for n,line in enumerate(f):
if n==0:
continue
data=line.split()
if data:
height=float(data[1])
weight=float(data[2])
total_height+=height
total_weight+=weight
count_height+=1
count_weight+=1
bmi=weight/height ** 2
print(“{:<12s}{:<12.2f}{:<12.2f}{:<12.2f}”.format(data[0],height,weight,bmi),file=output)
if height > maxi_height:
maxi_height=height
if height < mini_height:
mini_height=height
if weight > maxi_weight:
maxi_weight=weight
if weight < mini_weight:
mini_weight=weight
avg_height= total_height/count_height
avg_weight=total_weight/count_weight
avg_bmi=avg_weight/(avg_height ** 2)
bmi2=maxi_weight/(maxi_height ** 2)
bmi3=mini_weight/(mini_height ** 2)
print(“n{:<12s}{:<12.2f}{:<12.2f}{:<12.2f}”.format(“Average”,avg_height,avg_weight,avg_bmi),file=output)
print(“{:<12s}{:<12.2f}{:<12.2f}{:<12.2f}”.format(“Average”,maxi_height,maxi_weight,bmi2),file=output)
print(“{:<12s}{:<12.2f}{:<12.2f}{:<12.2f}”.format(“Average”,mini_height,mini_weight,bmi3),file=output)