У меня есть класс, который имеет атрибут 'latest_level', и это должно быть число с плавающей запятой. Затем у меня есть метод, который включает в себя last_level в уравнении для возврата другого числа с плавающей запятой. В этом методе, если я использую линию:Python 3: Это поплавок или список?
def relative_water_level(self):
level = float(self.latest_level)
Я получаю результат:
TypeError: float() argument must be a string or a number, not 'list'
который я предполагаю, означает self.latest_level список. Если изменить эту строку: четкости relative_water_level (само):
level = float(self.latest_level[0])
Я получаю выход:
TypeError: 'float' object is not subscriptable
Что я предполагаю, что означает, что self.latest_level является поплавок. У кого-нибудь есть идея, почему это происходит и как я могу заставить его относиться к self.latest_level как к float?
Редактировать: я не пытаюсь и подстрочный индекс позже. Остальная часть метода:
level = float(self.latest_level[0])
low = float(self.typical_range[0])
high = float(self.typical_range[1])
return ((level - low)/high)
И ошибка указывает, что ошибка в строке указанной выше
File "C:\Users\rache\Documents\Flood Warning\partia-flood-warning
system\floodsystem\station.py", line 58, in relative_water_level
level = float(self.latest_level[0])
TypeError: 'float' object is not subscriptable
Привет, Рейчел и добро пожаловать в переполнение стека. Было бы лучше включить код, демонстрирующий это поведение, чтобы мы могли его проверить. Без этого мы не сможем дать полезные ответы (и должны прибегать к угадыванию). Может быть, после кастинга, чтобы плавать, вы индексируете его, мы не можем действительно знать. –
Привет, Джим, спасибо за ваш совет. Я добавлю дополнительный код на вопрос –
Просьба показать полную трассировку стека ошибок для этих двух ошибок. Если эти ошибки происходят в одном и том же методе, возможно, что метод вызывается в два разных раза, когда 'last_level' является поплавком один раз, а список - в другое время. – poke