生成器实例:
生产者/消费者模型
1 #_*_coding:utf-8_*_ 2 #__author__ = "csy" 3 import time 4 import random 5 def consumer(name): 6 print("%s您好,现在为您调制饮品!" %name) 7 while True: 8 drink = yield 9 print("%s准备好了,请%s享用!" %(drink,name)) 10 11 #c1 = consumer("Jiaxin小姐") 12 #c2 = consumer("Chen先生") 13 #d1="咖啡浆果风味拿铁" 14 #d2="抹茶星冰乐" 15 16 #c1.__next__() 17 #c1.send(d1) 18 #c2.__next__() 19 #c2.send(d2) 20 21 d = ["咖啡浆果风味拿铁","抹茶星冰乐","可可碎片星冰乐","焦糖玛奇朵","经典巧克力","咖啡密斯朵","热牛奶","东方美人","冰摩卡","卡布奇诺","美式咖啡","双果果汁"] 22 23 def producer(name): 24 c1 = consumer("Jiaxin小姐") 25 c2 = consumer("Chen先生") 26 c1.__next__() 27 c2.__next__() 28 print("水吧人员开始做饮品喇!") 29 for i in range(10): 30 time.sleep(1) 31 print("做好了2杯饮品!") 32 c1.send(d[random.randint(0,11)]) 33 c2.send(d[random.randint(0,11)]) 34 35 producer("csy")
输出:
Jiaxin小姐您好,现在为您调制饮品!
Chen先生您好,现在为您调制饮品!
水吧人员开始做饮品喇!
做好了2杯饮品!
可可碎片星冰乐准备好了,请Jiaxin小姐享用!
咖啡密斯朵准备好了,请Chen先生享用!
做好了2杯饮品!
热牛奶准备好了,请Jiaxin小姐享用!
经典巧克力准备好了,请Chen先生享用!
做好了2杯饮品!
咖啡浆果风味拿铁准备好了,请Jiaxin小姐享用!
焦糖玛奇朵准备好了,请Chen先生享用!
做好了2杯饮品!
双果果汁准备好了,请Jiaxin小姐享用!
咖啡浆果风味拿铁准备好了,请Chen先生享用!
做好了2杯饮品!
经典巧克力准备好了,请Jiaxin小姐享用!
东方美人准备好了,请Chen先生享用!
做好了2杯饮品!
抹茶星冰乐准备好了,请Jiaxin小姐享用!
冰摩卡准备好了,请Chen先生享用!
做好了2杯饮品!
经典巧克力准备好了,请Jiaxin小姐享用!
东方美人准备好了,请Chen先生享用!
做好了2杯饮品!
咖啡浆果风味拿铁准备好了,请Jiaxin小姐享用!
卡布奇诺准备好了,请Chen先生享用!
做好了2杯饮品!
美式咖啡准备好了,请Jiaxin小姐享用!
东方美人准备好了,请Chen先生享用!
做好了2杯饮品!
经典巧克力准备好了,请Jiaxin小姐享用!
咖啡浆果风味拿铁准备好了,请Chen先生享用!