Мне может потребоваться дополнительная информация о listBox
,
, но, поскольку я примерно вижу данный код, я думаю, что строку, вызвавшую ошибку, следует отредактировать, как показано ниже:
# Original Code:
# num=num+(float(listBox.item(ids)['values'][3]*float(listBox.item(ids)['values'][4])))
num=num+(float(listBox.item(ids)['values'][3])*float(listBox.item(ids)['values'][4]))
TypeError: невозможно умножить последовательность на не-int типа float
Это происходит буквально, когда вы пытаетесь умножить последовательность (список, строка, и т. д. c) со значением с плавающей запятой, например:
a = 'hello'
print(a * 3.0) # error
Разрешено умножение последовательности на целочисленное значение, и это функционирует как повторение последовательности n раз:
a = 'hello'
print(a * 3) # 'hellohellohello'
В вашем коде вы неправильно завершили первую функцию float (). Вторая функция float () выполнена хорошо, поэтому вы просто пытались умножить строку (которая еще не преобразована) на значение с плавающей запятой (которое хорошо преобразовано). Пожалуйста, внимательно проверьте скобки в вашем коде. Спасибо.