• Python全栈开发-有趣的小程序


    进度条的打印

      import sys,time

      for i in range(20):
        sys.stdout.write('$')      #stdout是标准输出的意思,在一般电脑上,stdout的标准输出指的是计算机屏幕。
        sys.stdout.flush()
        time.sleep(0.1)

    单线程下的并发运算:

    import time
    def consumer(name):
        print("%s 准备吃包子啦!" %name)
        while True:
           baozi = yield
           print("包子[%s]来了,被[%s]吃了!" %(baozi,name))
    def producer(name): c = consumer('A') c2 = consumer('B') c.__next__() c2.__next__() print("老子开始准备做包子啦!") for i in range(10): time.sleep(1) print("做了2个包子!") c.send(i) c2.send(i) producer("gavin")

     

    生成数字+字母的验证码的小程序

    __author__ = "Gavin"
    import random
    checkcode=''
    for i in range(5):
      current=random.randrange(0,5)
      if current == i:
        tmp=chr(random.randint(65,90))
      else:
        tmp=random.randint(0,9)
      checkcode+=str(tmp)
    print(checkcode)

    异步I/O写的SocketServer

    使用协程的方式,执行效率极高

    server side 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    import sys
    import socket
    import time
    import gevent
     
    from gevent import socket,monkey
    monkey.patch_all()
     
     
    def server(port):
        = socket.socket()
        s.bind(('0.0.0.0', port))
        s.listen(500)
        while True:
            cli, addr = s.accept()
            gevent.spawn(handle_request, cli)
     
     
     
    def handle_request(conn):
        try:
            while True:
                data = conn.recv(1024)
                print("recv:", data)
                conn.send(data)
                if not data:
                    conn.shutdown(socket.SHUT_WR)
     
        except Exception as  ex:
            print(ex)
        finally:
            conn.close()
    if __name__ == '__main__':
        server(8001)

      

    client side   

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import socket
     
    HOST = 'localhost'    # The remote host
    PORT = 8001           # The same port as used by the server
    = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((HOST, PORT))
    while True:
        msg = bytes(input(">>:"),encoding="utf8")
        s.sendall(msg)
        data = s.recv(1024)
        #print(data)
     
        print('Received'repr(data))
    s.close()

     

    自己写的缓存系统

  • 相关阅读:
    第二次结对编程作业
    第5组 团队展示
    第一次结对编程作业
    第一次个人编程作业
    51 Nod 1024 Set
    51 Nod 1007 dp
    YY的GCD 数学
    选课 树形背包dp
    运输问题 费用流
    分配问题 费用流
  • 原文地址:https://www.cnblogs.com/GavinSimons/p/7728535.html
Copyright © 2020-2023  润新知