タイトル:入力生成器を用いて行うためには、各々の時間平均値を算出します。
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)
对比而言,加了装饰器可以在输入的时候少写一行代码、
avg.__next__()
************
(⊙﹏⊙),虽然对程序猿来说好像代码更多了。
但是在用户角度来说,更显方便。
输出结果