Python测试平均计算器returen错误'list'对象没有属性'len'

Abd*_*rah 10 python

嘿这是一个演示,向我的一些同学展示python和编码的介绍.下面的代码应该能够采用类似的列表[0,1],如果使用该average函数运行将返回0.5.使用列表运行时,下面的函数返回错误'list' object has no attribute 'len'.如何在不删除该len()功能的情况下使该功能正常工作

def average(lst):
    total = 0
    for item in lst:
        total += item
    averageGrade= total / lst.len()
    return averageGrade
Run Code Online (Sandbox Code Playgroud)

我怎么能让它返回一个浮点而不是一个整数

Abh*_*jit 24

改变线

averageGrade= total / lst.len()
Run Code Online (Sandbox Code Playgroud)

averageGrade= total / len(lst)
Run Code Online (Sandbox Code Playgroud)

请参阅内置len的python文档.内置len计算序列中的项目数.由于列表是一个序列,内置函数可以使用它.

它因错误'list' object has no attribute 'len'而失败的原因,因为,list数据类型没有任何命名的方法len.请参阅python文档以获取列表

另一个重要方面是你正在进行整数除法.在Python 2.7中(我从你的评论中假设),与Python 3不同,如果两个操作数都是整数,则返回一个整数.

改变线

total = 0.0
Run Code Online (Sandbox Code Playgroud)

将一个除数的操作数转换为浮点数.