我写了以下课程:
class Average(object):
def __init__(self,invoer):
self.regel = invoer
self.persons = []
def parse_input(self):
lengte = self.regel.split('\t')[2]
gewicht = self.regel.split('\t')[3]
self.lengte = float(lengte)
self.gewicht = float(gewicht)
return self.lengte, self.gewicht
def add_person(self):
self.persons += [self.lengte, self.gewicht]
def get_average_bmi(self):
total_bmi = 0
for i in self.persons:
total_bmi += i[0]/i[1]
average_bmi = total_bmi/len(self.persons)
self.average = average_bmi
return self.average
程序如下所示:
from BodyMassIndex import Average
from ipy_lib import file_input
bestand = file_input().splitlines()
for i in bestand:
bmi = Average(i)
bmi.parse_input()
bmi.add_person()
average_bmi = bmi.get_average_bmi()
bestand变量中的输入如下所示:
Barbara Lerner V 1.54 67 No
Danny Coronado M 1.84 89 No
Diana Knox V 1.69 58 Yes
Penney Rose V 1.56 102 No
Jessica Richman V 1.58 63 Yes
parse\u input()方法获取每个人的身高和长度,add\u person将其添加到列表中并获得平均值\u bmi应该计算该列表中每个列表的bmi并计算其平均值。你知道吗
但是,我得到一个错误: 总bmi+=i[0]/i[1] TypeError:“float”对象没有属性“getitem”
这个代码出了什么问题?你知道吗
您需要修复
add_person()
:相关问题 更多 >
编程相关推荐