风岛 风岛
  • 首页
  • 留言板
  • 链接
  • 番组计划
  • 关于
  • 图床
  • 注册
    登录
现在登录。
  • 首页
  • 动态
  • 专题
  • 番剧
  • 链接
  • 关于
首页 笔记 Python学习笔记(暂定)Ver1.5

Python学习笔记(暂定)Ver1.5

岛风だぜ 3年 前

好多好多天过去了,这几天学了不少东西,接上上一次的文章,这次学了协程和生成器

作业是改一串代码,老师这次对我表现很惊讶,美滋滋,虽然我的作业并没有得到参考答案

协程、生成器

"""
用类实现。
def averager():
    total = 0.0
    count = 0
    average = None
    while True:
        term = yield average
        total += term
        count += 1
        average = total / count


coro_avg = averager()
next(coro_avg)
print(coro_avg.send(10))
print(coro_avg.send(30))
print(coro_avg.send(5))

"""
from cmd import Cmd


class Averager(Cmd):
    intro = '平均值计算V0.1   ----  输入help获取帮助'

    def __init__(self):
        self.total = 0
        self.count = 0
        self.average = 0
        self.avg = self.averager()
        self.loader = next(self.avg)  # 预载
        super().__init__()

    def averager(self):
        while True:
            term = yield self.average  # 返回平均数,挂起,等待参数
            self.total += term  # !!send给了term!!
            self.count += 1  # 计数器+1
            self.average = self.total / self.count  # 计算平均数

    def do_add(self, num):
        # 给生成器发送数字
        print('[Average]当前录入数量:{}\t'.format(self.count + 1), '平均值:', self.avg.send(int(num)))

    def do_help(self, arg):
        # 帮助
        print('[Help] add number - 添加数字,number是你需要添加的数字')
        print('[Help] re  - 重置程序')
        print('[Help] quit  - 退出程序')

    def do_re(self, arg):
        # 是重置 不是回复
        self.total = 0
        self.count = 0
        self.average = 0
        print('[System]重置成功!')

    @staticmethod
    def do_quit(arg):
        # 告辞
        print('[System]系统退出!')
        return 1

    def main(self):
        self.cmdloop()


if __name__ == '__main__':
    averager = Averager()
    averager.main()

#Python#协程#学习#生成器#笔记
0
岛风だぜ
咕咕咕
评论 (0)
返回
    发表评论
猜你喜欢
  • Python学习笔记 - V2.0
  • Python学习笔记(暂定)Ver1.7
  • Python学习笔记(暂定)Ver1.6
岛风だぜ
咕咕咕
72
文章
7
评论
28
获赞
相关推荐
Python学习笔记(暂定)Ver1.5
3年 前
私の好きなもの
4年 前
Black black heart
5年 前
Copyright © 2018-2023 风岛. Designed by nicetheme. 我们终将毁于我们所热爱的东西 赣ICP备19011603号
隐藏
变装