xiaofan1228 发表于 2020-3-2 18:00:03

*表达式

def drop_first_last(score):
        first, *middle, last = score
        return avg(middle)

在python cookbook看到的案例,这里相当于去掉一个最高分和一个最低分然后求平均分


我的理解是,输入的score是一个经过sort()处理的list?
比如

score =
score.sort()

然后再用
>>> drop_first_last(score)
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
    drop_first_last(score)
File "<pyshell#30>", line 3, in drop_first_last
    return avg(middle)
NameError: name 'avg' is not define

avg()不是个函数吗?还要怎么定义?

zltzlt 发表于 2020-3-2 18:01:17

avg 是求平均值的函数:

def avg(nums):
    return sum(nums) / len(nums)

xiaofan1228 发表于 2020-3-2 18:16:19

zltzlt 发表于 2020-3-2 18:01
avg 是求平均值的函数:

害。。。我以为avg还在哪个版本里是个函数表达式呢。。。。
页: [1]
查看完整版本: *表达式