You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用remove方法报AttributeError:'function'无'remove'属性如何解决

问题诊断
  • 命名冲突:datos被同时定义为函数名,你尝试对函数对象调用只有列表才支持的remove()方法,是触发AttributeError的直接原因。
  • 函数内部逻辑错误:函数内直接使用datos[0]、遍历datos时,指向的是外层函数对象而非传入的分数参数;且你传入的第一个参数是字符串类型的学号,不能直接和数字类型的分数比较大小。
  • 参数匹配错误:定义函数时只声明了5个参数,调用时传入了学号+5个分数共6个参数,会触发参数数量不匹配的报错。
  • 平均值计算逻辑错误:prom+=i/len(datos)%prom写法不符合求平均的逻辑,求平均值应为剩余分数总和除以剩余分数的数量,无需使用模运算。
  • 内置命名覆盖:使用min作为自定义变量名,覆盖了Python内置的求最小值函数min(),属于不规范的命名习惯。
修正后代码
def calcular_promedio(id_estudiante, *scores):
    # 将传入的分数转为列表方便操作
    score_list = list(scores)
    # 获取最低分
    min_score = min(score_list)
    # 移除首次出现的最低分
    score_list.remove(min_score)
    # 计算剩余分数的平均值
    average = sum(score_list) / len(score_list)
    # 返回带学号的结果,保留两位小数
    return f"学号:{id_estudiante},去掉最低分后的平均分为:{average:.2f}"

# 调用测试
print(calcular_promedio('AA0010276',40, 50, 39, 76, 96))
运行结果

学号:AA0010276,去掉最低分后的平均分为:65.50

内容的提问来源于stack exchange,提问作者Cream

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:57:04