Python类类型错误'no attribute\u getitem___

2024-04-20 01:37:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了以下课程:

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

这个代码出了什么问题?你知道吗


Tags: selfaddinputparsedeffloatpersontotal