利用 send 方法计算多个数的平均数

Posted artfeb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用 send 方法计算多个数的平均数相关的知识,希望对你有一定的参考价值。

利用 send 方法计算多个数的平均数,并且可以多次输入:

def averager():            # 创建一个生成器函数
    sum = 0                # 创建一个总数变量
    count = 0              # 创建一个个数变量
    avg = 0                # 创建一个平均数变量
    while True:            # while 循环
        num = yield avg    # 先执行 next,然后再执行 send,yield avg 接受 send 返给函数的值,传给 num。
        sum = sum + num    # 第一次 sum = 0 + 10 (num = 10);第二次 send 传递 20 时,sum=10+20
        count += 1         # 第一次count=1;第二次运算,count=2;
        avg = sum / count  # 第一次avg = 10/1;第二次运算,avg=30/2;


a = averager()
get_avg = a.__next__()
get_avg = a.send(10)       # 向 yield 传送 10,然后接受返回值 10 给 get_avg
get_avg = a.send(20)       # 向 yield 传送 20,然后接受返回值 15 给 get_avg
print(get_avg)             # 打印结果为 15

  打印结果为 15

以上是关于利用 send 方法计算多个数的平均数的主要内容,如果未能解决你的问题,请参考以下文章

java 关于平均值的计算!

均分纸牌(贪心求区间和为平均数的最多个数)

C语言 怎么求平均值

确定自由度的依据和计算方法?

python如何求平均数

python输入三个整数xyz,求出这三个数的和乘积和平均数