嘿这是一个演示,向我的一些同学展示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)
将一个除数的操作数转换为浮点数.
| 归档时间: |
|
| 查看次数: |
30746 次 |
| 最近记录: |