移動平均を計算します

タイトル:入力生成器を用いて行うためには、各々の時間平均値を算出します。

DEF INIT(FUNC):
     DEF内(*引数、** kwargsから):
        G = FUNC(*引数、** kwargsから)
        G。__next__ ()
         リターンgは
     戻り内側
@Init 
DEF avgrage(): = 0 
    カウント = 0 
    平均 = 0
     一方TRUE:
        NUM = 収量平均 + = NUMの
        カウント + = 1 
        平均 =合計/ カウント

avg_g= Avgrage() = avg_g.send(10 プリンタ(右) = avg_g.send(76 プリンタ(右)
コードの表示

デコレータに取り付けられた発電機によって、1行のコードが入力された書き込みに短い時間であってもよいです。

そうでない場合はデコレータ

def avgrage():
    sum = 0
    count = 0
    avg = 0
    while True:
        num = yield avg
        sum += num
        count += 1
        avg = sum/count

avg_g = avgrage()
avg_g.__next__()
ret = avg_g.send(10)
print(ret)
ret = avg_g.send(76)
print(ret)
View Code

对比而言,加了装饰器可以在输入的时候少写一行代码、

avg.__next__()

************

(⊙﹏⊙),虽然对程序猿来说好像代码更多了。

但是在用户角度来说,更显方便。

输出结果

 

おすすめ

転載: www.cnblogs.com/zly9527/p/11374605.html