调用外部文件函数计算平均值时出现float与function相除TypeError如何解决
错误原因
报错TypeError: unsupported operand type(s) for /: 'float' and 'function'由两个问题共同导致:
- 你编写的
Word函数没有添加return语句,计算得到的列表长度仅存储在局部变量中,没有对外返回可使用的数值 - 调用
mean函数时,你直接传入了Word函数本身作为参数,而非Word函数执行后的返回值
修正方案
该需求完全可以实现,按以下步骤调整代码即可:
- 给
Word函数补充返回值
def Word(liste): test = len(liste) return test
- 调用
mean函数前先执行Word函数拿到数值结果,再作为参数传入
错误调用示例:
# 错误:参数传入的是函数对象,不是计算结果 mean(数值列表, Word)
正确调用示例:
# 先调用Word函数拿到整数类型的统计结果 count = Word(待统计的文本列表) # 把统计结果传入mean函数参与计算 mean(数值列表, count)
- (可选)修改
mean函数的参数名避免和Word函数重名导致混淆
def mean(liste, word_count): total = sum(liste) result = total / word_count print(result)
内容的提问来源于stack exchange,提问作者nk3012
相关产品推荐
相关产品推荐

