菜鸟IT的博客
"菜鸟IT"的博客 (WWW.17WX.NET)
熟悉HTML网站的前端美工到切图制作,搭配DIV+TABLE+CSS,熟悉Fireworks和Dreamwear的网站制作实战应用,专注于学习和记录JS脚本对于网页改造的各种新奇技术.平时的工作既要做销售,也要做前端开发,也要做后期的客户售后维护,此博客为博主自己平时的IT工作的实战学习笔记,记录自己工作和学习中遇到的各种坑,也分享给有需要的新人...
博客首页 网站前端制作 网赚 软件应用 Windows系统 Python
谷歌联盟提供的广告↓
[网站前端制作]有关标签↓
[网赚]有关标签↓
[软件应用]有关标签↓
[Windwos系统]有关标签↓
 | 
菜鸟IT的博客 >> Python

队列实战练习queue.Queue() | 吃包子案例 | q_Get=q_PanZi.get(timeout=3) | q_PanZi.put(random.randint(0,100),block=False,timeout=3)
# -*- coding:utf-8 -*-
# encoding:utf-8
# [设计逻辑]:3个厨师做包子,每个厨师做包子的效率不一样,随机3秒以内,
# 只有1个大盘子,这个大盘子就是队列,最多放8个包子
# 1个吃货负责吃包子#
# 这个吃货最多吃25个包子就吃饱了!就停止吃包子了。所以要用while循环。
# 还要用个计数器,计数器到了10个,就break退出while循环。


import time
import random
import queue
import threading

# 定义1个队列,默认先进先出
q_PanZi=queue.Queue(maxsize=15)

# 定义1个随机数,作为包子标号
# BaoZi_BiaoJi=random.randint(0,100)
# 定义1个随机数,代表厨师的生产效率,1到3之间
# BaoZi_XiaoLv=random.randint(1,3)

# 定义时间函数
# time.strftime('%Y{}%m{}%d{} %H{}%M{}%S{}',time.localtime()).format("年","月","日","时","分","秒")

# 定义1个计数器,用于记录吃货吃包子的数量,最多吃25个
num_ChiBaoZi=0


# 定义厨师函数
def ChuShi():
    print("厨师开始制作包子,预计需要等待时间:",random.randint(1,3))
    # 随机等待时间,代表厨师的做包子的效率
    time.sleep(random.randint(1,3))
    try:
        if(q_PanZi.empty()==False)or(q_PanZi.full()==False):
            # 做好的包子放盘子里,
            q_PanZi.put(random.randint(0,100),block=False,timeout=3)
            # 发出通知,厨师做了包子,用了几秒,几点几分做好的,
            print("厨师做了",random.randint(0,100),"号包子!放到盘子里了!用时:",random.randint(1,3),"秒!此刻:",time.strftime('%Y{}%m{}%d{} %H{}%M{}%S{}',time.localtime()).format("年","月","日","时","分","秒"))
    except BaseException as e1:
        return e1

# 定义吃货函数
def ChiHuo():
    print("吃货开始疯狂吃包子...")
    try:
        if (q_PanZi.empty() == False) or (q_PanZi.full() == False):
            # 从盘子里开始拿包子吃
            q_Get=q_PanZi.get(timeout=3)
            # 发出通知,
            print("*" * 25, "↓吃货分割线↓", "*" * 25)
            print("吃货吃掉",q_Get,"号包子!此刻:",time.strftime('%Y{}%m{}%d{} %H{}%M{}%S{}',time.localtime()).format("年","月","日","时","分","秒"))
            print("*"*25,"↑吃货分割线↑","*"*25)
            return "已吃掉1个包子"

    except queue.Empty as e0:
        print("可能盘子满了!可能盘子空了!")
    except BaseException as e1:
        print("其他异常:",e1)

# 开始布置多线程
threads_eat_make=[ChuShi,ChuShi,ChuShi,ChiHuo]

while(num_ChiBaoZi<=25):

    for i in threads_eat_make:
        threading.Thread(target=i).start()
        if(ChiHuo()=="已吃掉1个包子"):
            num_ChiBaoZi=num_ChiBaoZi+1


——————————————————
——————————————————
输出结果:




厨师开始制作包子,预计需要等待时间: 1
吃货开始疯狂吃包子...
厨师做了 10 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时16分14秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 19 号包子!此刻: 2022年03月15日 08时16分14秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 22 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分17秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 98 号包子!此刻: 2022年03月15日 08时16分17秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 44 号包子!放到盘子里了!用时: 1 秒!此刻: 2022年03月15日 08时16分20秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 97 号包子!此刻: 2022年03月15日 08时16分20秒
************************* ↑吃货分割线↑ *************************
吃货开始疯狂吃包子...
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
可能盘子满了!可能盘子空了!
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 55 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分25秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 34 号包子!此刻: 2022年03月15日 08时16分25秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 99 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时16分26秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 65 号包子!此刻: 2022年03月15日 08时16分26秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 30 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分28秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 70 号包子!此刻: 2022年03月15日 08时16分28秒
************************* ↑吃货分割线↑ *************************
吃货开始疯狂吃包子...
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
可能盘子满了!可能盘子空了!
厨师开始制作包子,预计需要等待时间: 2
吃货开始疯狂吃包子...
厨师做了 52 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分33秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 18 号包子!此刻: 2022年03月15日 08时16分33秒
************************* ↑吃货分割线↑ *************************
吃货开始疯狂吃包子...
厨师开始制作包子,预计需要等待时间: 1
厨师做了 20 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分34秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 36 号包子!此刻: 2022年03月15日 08时16分34秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 80 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分35秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 54 号包子!此刻: 2022年03月15日 08时16分35秒
************************* ↑吃货分割线↑ *************************
吃货开始疯狂吃包子...
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
可能盘子满了!可能盘子空了!
厨师开始制作包子,预计需要等待时间: 1
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
厨师做了 46 号包子!放到盘子里了!用时: 1 秒!此刻: 2022年03月15日 08时16分41秒
厨师开始制作包子,预计需要等待时间: 2
吃货开始疯狂吃包子...
************************* ↓吃货分割线↓ *************************
吃货吃掉 99 号包子!此刻: 2022年03月15日 08时16分41秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 94 号包子!放到盘子里了!用时: 1 秒!此刻: 2022年03月15日 08时16分42秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 48 号包子!此刻: 2022年03月15日 08时16分42秒
************************* ↑吃货分割线↑ *************************
吃货开始疯狂吃包子...
吃货开始疯狂吃包子...
厨师做了 54 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分43秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 78 号包子!此刻: 2022年03月15日 08时16分43秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 2
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
厨师做了 22 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时16分46秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 10 号包子!此刻: 2022年03月15日 08时16分46秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 1
吃货开始疯狂吃包子...
厨师做了 95 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分48秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 64 号包子!此刻: 2022年03月15日 08时16分48秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 2
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
吃货开始疯狂吃包子...
吃货开始疯狂吃包子...
厨师做了 94 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时16分51秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 22 号包子!此刻: 2022年03月15日 08时16分51秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 1
吃货开始疯狂吃包子...
厨师做了 32 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分52秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 58 号包子!此刻: 2022年03月15日 08时16分52秒
************************* ↑吃货分割线↑ *************************
可能盘子满了!可能盘子空了!
厨师开始制作包子,预计需要等待时间: 1
吃货开始疯狂吃包子...
厨师做了 65 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时16分57秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 39 号包子!此刻: 2022年03月15日 08时16分57秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 2
吃货开始疯狂吃包子...
厨师做了 46 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时16分58秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 33 号包子!此刻: 2022年03月15日 08时16分58秒
************************* ↑吃货分割线↑ *************************
吃货开始疯狂吃包子...
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
可能盘子满了!可能盘子空了!
吃货开始疯狂吃包子...
厨师开始制作包子,预计需要等待时间: 2
厨师做了 86 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时17分03秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 12 号包子!此刻: 2022年03月15日 08时17分03秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 1
吃货开始疯狂吃包子...
厨师做了 96 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时17分05秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 16 号包子!此刻: 2022年03月15日 08时17分05秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 50 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时17分07秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 21 号包子!此刻: 2022年03月15日 08时17分07秒
************************* ↑吃货分割线↑ *************************
吃货开始疯狂吃包子...
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
可能盘子满了!可能盘子空了!
厨师开始制作包子,预计需要等待时间: 1
吃货开始疯狂吃包子...
厨师做了 12 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时17分12秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 100 号包子!此刻: 2022年03月15日 08时17分12秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 67 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时17分14秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 67 号包子!此刻: 2022年03月15日 08时17分14秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 2
吃货开始疯狂吃包子...
厨师做了 35 号包子!放到盘子里了!用时: 3 秒!此刻: 2022年03月15日 08时17分16秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 19 号包子!此刻: 2022年03月15日 08时17分16秒
************************* ↑吃货分割线↑ *************************
吃货开始疯狂吃包子...
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
可能盘子满了!可能盘子空了!
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 59 号包子!放到盘子里了!用时: 1 秒!此刻: 2022年03月15日 08时17分20秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 11 号包子!此刻: 2022年03月15日 08时17分20秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 3
吃货开始疯狂吃包子...
厨师做了 49 号包子!放到盘子里了!用时: 2 秒!此刻: 2022年03月15日 08时17分21秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 82 号包子!此刻: 2022年03月15日 08时17分21秒
************************* ↑吃货分割线↑ *************************
厨师开始制作包子,预计需要等待时间: 2
吃货开始疯狂吃包子...
厨师做了 87 号包子!放到盘子里了!用时: 1 秒!此刻: 2022年03月15日 08时17分24秒
************************* ↓吃货分割线↓ *************************
吃货吃掉 52 号包子!此刻: 2022年03月15日 08时17分24秒
************************* ↑吃货分割线↑ *************************
吃货开始疯狂吃包子...
吃货开始疯狂吃包子...
可能盘子满了!可能盘子空了!
吃货吃饱了!
可能盘子满了!可能盘子空了!

Process finished with exit code 0

菜鸟IT博客[2022.03.15-08:20] 访问:296
[关闭窗口]  
Google公司(谷歌联盟)提供的广告↓
本页的htm伪静态链接网址:分享链接加载中....

收藏链接: www.ems-help.com | www.17post.com | www.17track.wang | www.kd100.wang | www.17wx.net | www.11185cha.com | www.sftrack.net | www.kdjiage.com | m.kdjiage.com | www.expba.net | m.expba.net | www.pptrack.net
学习Python的关键点
【1】★ Python:解决小数点后面四舍五入的精度丢失问题(二进制转换导致,另解决prec动态保留小数点后多少位)
【2】 ★ Python:单个py文件打包exe程序
【3】 ★ 给自己写的exe程序加上注册授权保护
【4】 ★ Python的http请求超时设置(timeout)| 异常类型/捕获异常
【5】 ★ Python的多线程的线程池的使用| ThreadPoolExecutor
【6】 ★ Python能用到的免费代理IP网址
【7】 ★ Python_用于测试代理IP是否有效
【8】 ★ Python Requests post() 方法 | post方式提交api
【9】 ★★★ Python Tkinter Gui视频学习教程
【10】 ★★★ Python 小项目实战-视频学习教程
【11】 ★★★ Python 爬虫项目实战-视频教程
【12】 ★★★ 高级进阶的关于python的五本书: 「Python从菜鸟到高手」、「html5+css3+JavaScript从入门到精通」、「Django Web应用开发实战」、「漫画算法」
【13】 ★★★ Request库-爬虫
【14】 ★★★ Python 图形识别文字
【15】 ★★★ Python 滑动验证码识别【图文教程】
【16】 ★★★ Python 滑动验证码识别【视频教程】
【18】 ★★★ Python 关于Class类的应用【视频教程】
【19.1】 ★★★ Python 关于进度条的制作(1)
【19.2】 ★★★ Python 关于进度条的制作(2)
【20】★★★ Python 抓取某宝的商品信息
【21】★★★ Python 一小时学会全栈开发浏览器版本的企业管理系统【视频教程】
【22】★★★ Python 全栈开发——前端+后端【视频教程】
【23】★★★ Layui 浏览器前端模块化UI框架
【24】★★★ Python-Django-Web应用开发【视频教程】
【25】★★★ Python 从0开始学【视频教程】
【26】★★★ Python的tkinter界面打包exe以后关于icon图标报错的解决办法!
【27】★★★ Python的tkinter视频学习教程【N个系统性学习合集视频】★★★
【28】★★★ Python全栈开发【视频教程】★★★
Copyright © 17WX.NET 版权所有 Manage 沪ICP备13006304号-5 沪公网安备31011702006630号
,sitemap.html,sitemap.xml
网站人气值: