Python报错咨询:‘float’对象无‘insert’属性问题
问题排查与解决
错误原因分析
insert方法使用错误:
报错的核心原因是你尝试调用了float对象的insert方法——代码里要么写反了调用对象(比如i.insert(v),i是列表中的浮点数元素,本身没有insert方法),要么误用了列表的insert参数(v.insert(i)只传了一个参数,而列表insert需要传入「插入位置」和「待插入元素」两个参数)。实际上你只是想收集负数,用append直接添加到列表末尾更简单合理。列表无sum方法:
最后一行print(v.sum())错误,Python列表本身没有sum()方法,要计算列表元素的和,应该用内置函数sum(v)。冗余变量:
变量c在代码中完全没用到,可以直接删除。
修正后的代码
a = [5, -2.5, 3, 4, 12, 17] negative_list = [] positive_count = 0 # 变量名更直观,替换原代码的b for num in a: if num > 0: positive_count += 1 print(num, end=" ") elif num < 0: negative_list.append(num) # 用append收集负数 print("\n正数数量:", positive_count) print("负数列表:", negative_list) print("负数的和:", sum(negative_list))
运行结果
5 3 4 12 17 正数数量: 5 负数列表: [-2.5] 负数的和: -2.5
内容的提问来源于stack exchange,提问作者Kleack
相关产品推荐
相关产品推荐

