Convert Python program to be class based- Python code: import csv import matplot
ID: 3729469 • Letter: C
Question
Convert Python program to be class based-
Python code:
import csv
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.mlab as mlab
obj=open("bmi.csv"); #opening file
obj_reader=csv.reader(obj,delimiter=' ')
male=[] # having male's bmi
female=[] # having female bmi
file_obj2=open("bmi_health.csv","w") # opening file for adding bmi and status
for val in obj_reader:
bmi=(int(val[1])*2.2*703)/(int(val[2])*int (val[2])) # bmi calculation
bmi=round(bmi,2)
file_obj2.write(val[0])
file_obj2.write(' ')
file_obj2.write(val[1])
file_obj2.write(' ')
file_obj2.write(val[2])
file_obj2.write(' ')
file_obj2.write("%0.2f "%bmi)
file_obj2.write(' ')
if val[0]=='male': # checking for male
male.append(bmi)
if bmi>=19 and bmi<=25: # bmi healthy status
file_obj2.write('healthy')
elif bmi>25:
file_obj2.write('obese')
else:
file_obj2.write('underweight')
else: # checking for male
female.append(bmi)
if bmi>=19 and bmi<=25: # bmi healthy status
file_obj2.write('healthy')
elif bmi>25:
file_obj2.write('obese')
else:
file_obj2.write('underweight')
file_obj2.write(' ')
print(" BMI list for male: ")
print(male) # male bmi calculation list
print(" BMI list for female: ")
print(female) #female bmi calculation list
obj.close() # closing old file
file_obj2.close() #closing new file
bins=1
plt.ylabel('NUMBER')
plt.xlabel('BMI')
plt.title('HISTROGRAM OF BMI OF MALE & FEMALE ')
plt.hist([male,female])
plt.show()
INITIAL FILE NAMED AS : bmi.csv
Explanation / Answer
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 14 12:12:00 2018
@author:
"""
import csv
import matplotlib.pyplot as plt
class bmi:
def __init__(self):
self.filename='bmi.csv'; #opening file
def readFile(self):
obj=open(self.filename)
obj_reader=csv.reader(obj,delimiter=' ')
male=[] # having male's bmi
female=[] # having female bmi
file_obj2=open("bmi_health.csv","w") # opening file for adding bmi and status
for val in obj_reader:
bmi=(int(val[1])*2.2*703)/(int(val[2])*int (val[2])) # bmi calculation
bmi=round( bmi,2)
file_obj2.write(val[0])
file_obj2.write(' ')
file_obj2.write(val[1])
file_obj2.write(' ')
file_obj2.write(val[2])
file_obj2.write(' ')
file_obj2.write("%0.2f "%bmi)
file_obj2.write(' ')
if val[0]=='male': # checking for male
male.append(bmi)
if bmi>=19 and bmi<=25: # bmi healthy status
file_obj2.write('healthy')
elif bmi>25:
file_obj2.write('obese')
else:
file_obj2.write('underweight')
else: # checking for male
female.append(bmi)
if bmi>=19 and bmi<=25: # bmi healthy status
file_obj2.write('healthy')
elif bmi>25:
file_obj2.write('obese')
else:
file_obj2.write('underweight')
file_obj2.write(' ')
print(" BMI list for male: ")
print(male) # male bmi calculation list
print(" BMI list for female: ")
print(female) #female bmi calculation list
obj.close() # closing old file
file_obj2.close() #closing new file
plt.ylabel('NUMBER')
plt.xlabel('BMI')
plt.title('HISTROGRAM OF BMI OF MALE & FEMALE ')
plt.hist([male,female])
plt.show()
ob=bmi()
ob.readFile()
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.