注册 登录
编程论坛 Python论坛

python3 求给定列表平均值不能正确输出问题

遗情处有诗章 发布于 2020-10-08 14:21, 1539 次点击
程序代码:
def avg(lst):
    average= float(sum(lst))/len(lst)
    return average
res=0
nums=[1,1,1,1]
res=float(sum(nums))/len(nums)
print(res)


这样写 输出的答案是0.25
请问是哪里出问题了呢
题目要求里还有:需要必要的条件检查,请问是检查列表是否为空吗,这个条件应该怎么判断呢?
4 回复
#2
Mungki2020-10-08 17:14
额......你是不是看错了,我运行了,输出为1.0。
至于如何判断列表是否为空,可以执行一下代码:

list = []
if list:
    print('列表不为空')
else:
    print('列表为空)

你还可以用len(),列表如果为空,len()的返回值是0,。
#3
sssooosss2020-10-08 19:46
共同学习
#4
遗情处有诗章2020-10-08 21:10
回复 2楼 Mungki
我又检查了一下,下午那会编译器有点问题,关于判断条件那里:在已给列表的情况下添加判断条件,有点没懂您上面的写if list: 这句
#5
fall_bernana2020-10-09 10:17
回复 4楼 遗情处有诗章
None
0
0.0
空字符串:''
空列表:[]
空元组:()
空字典:{}
空集合:set()
这些情况在python里都判断为False。
1