class Printer(): def __init__(self): self.printQueue = Queue() self.currentTask = None def isBusy(self): return self.currentTask == None def addTask(self, task): self.printQueue.enqueue(task) def removeTask(self): self.currentTask = None def getNextTask(self): if self.printQueue.isEmpty(): self.currentTask = None else: self.currentTask = self.printQueue.dequeue() def printTask(self): if self.currentTask != None: self.currentTask.removePage() if self.currentTask.isDone(): self.currentTask = None if self.currentTask == None and not self.printQueue.isEmpty(): self.currentTask = self.printQueue.dequeue() waitTimes.append(time - self.currentTask.startTime)
def hotPotato(namelist, k): """ Simulate the children's game Hot Potato. In this game children line up in a circle and pass an item from neighbor to neighbor as fast as they can. At a certain point in the game, the action is stopped and the child who has the item (the potato) is removed from the circle. :param namelist: A list of children's name involved in this game, required to be nonempty. :param k: the position of child to be removed from the circular namelist counting from the front of the queue (The front one is assumed to be at position 0). :return: the name of the last person remaining after repetitive counting by k. """ simqueue = Queue() for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1: for i in range(k): simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() return simqueue.dequeue()
def safe_postion(num_soldiers): queue_sol = Queue() # Declare an Empty Queue # Adding the list-num_soldiers to Queue using push for name in num_soldiers: queue_sol.enqueue(name) # looping through the soldires and killing the next to it # list_a =[] print("Original Circle:%s " % (queue_sol.items)) while queue_sol.size() > 1: for i in range(1): k = queue_sol.enqueue(queue_sol.dequeue()) print('-' * 30) #s = s.join(queue_sol.items) print("Remaining Soldier:", "".join(queue_sol.items)) #print("Remaining Soldier:%s" % (queue_sol.items)) print('-' * 30) #print('%s Kills: '%(queue_sol.items[0])) n = queue_sol.dequeue() print(queue_sol.items[0] + ' Kills: ' + n) time.sleep(1) return queue_sol.dequeue()
def hotPotato(namelist, num): """烫手山芋问题 类似于约瑟夫问题,游戏规则是孩子们围成一个圈, 然后从队首开始报数,报到指定数字的孩子出局, 最后只剩下一个人 参数: namelist: 参与游戏的孩子人名的列表 num: 报数的数字 返回值: simqueue.dequeue(): String 胜出的孩子 """ simqueue = Queue() # 把所有人名放进队列 for name in namelist: simqueue.enqueue(name) # 当队列人数大于1的时候执行,因为每一轮报数都会有一个人出队,长度-1 while simqueue.size() > 1: # 每一次报数过程中,队首的人出队然后重新进队 for i in range(num): simqueue.enqueue(simqueue.dequeue()) # 每一轮报数完后队首的人出队,队列长度-1 simqueue.dequeue() return simqueue.dequeue()
def send_flower(name_list, num): q = Queue() for name in name_list: q.enqueue(name) while q.size() > 1: for i in range(num): q.enqueue(q.dequeue()) print(q.dequeue()) return q.dequeue()
def hotPotato(names, num): q = Queue() for ii in names: q.enqueue(ii) while q.size() != 1: for ii in range(num): q.enqueue(q.dequeue()) q.dequeue() return q.dequeue()
def send_flowers(name_list, num): simqueue = Queue() for name in name_list: simqueue.enqueue(name) while simqueue.size() > 1: for i in range(num): simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() return simqueue.dequeue()
def hotPotato(namelist, num): #参加游戏的人名列表namelist,传num次数 simqueue = Queue() #创建队列queue for name in namelist: simqueue.enqueue(name) #队列存放namelist里面参加游戏的人名 while simqueue.size() > 1: for i in range(num): simqueue.enqueue(simqueue.dequeue()) #传递过程:位于队首的人出列,紧接着从队尾入队。 simqueue.dequeue() #每一轮移除一次队首的人 return simqueue.dequeue() #while循环传递num次之后,最终返回最后唯一、剩下的1人
def hotPotato(nameList, num): simqueue = Queue() for name in nameList: simqueue.enqueue(name) while simqueue.size() > 1: for i in range(num): simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() return simqueue.dequeue()
def hotPotato(num, names): potatoQueue = Queue() for name in names: potatoQueue.enqueue(name) while potatoQueue.size() > 1: for i in range(num): potatoQueue.enqueue(potatoQueue.dequeue()) potatoQueue.dequeue() return potatoQueue.dequeue()
def hotpotato(nameList, num): q = Queue() for i in nameList: q.enqueue(i) while q.size() > 1: for _ in range(num): v = q.dequeue() q.enqueue(v) print(q.dequeue()) print(f"the last one is: {q.dequeue()}")
def send_flowers(name_list, num): simqueue = Queue() for name in name_list: simqueue.enqueue(name) while simqueue.size() > 1: for i in range(num): # 把移除的前六个人重新放入队伍 simqueue.enqueue(simqueue.dequeue()) print(simqueue.dequeue()) return simqueue.dequeue()
def hotpotato(namelist, num): aqueue = Queue() for name in namelist: aqueue.enqueue(name) while aqueue.size() > 1: for i in range(num): aqueue.enqueue(aqueue.dequeue()) aqueue.dequeue(), return aqueue.dequeue()
def HotPotato(namelist: List[str], repetitions: int) -> List[str]: queue = Queue() for name in namelist: queue.enqueue(name) for rep in range(repetitions): person = queue.dequeue() queue.enqueue(person) return queue.dequeue()
def hot_potato(names, num): s = Queue() for name in names: s.enqueue(name) while s.size() > 1: for i in range(num): s.enqueue(s.dequeue()) s.dequeue() return s.dequeue()
def hotPotato(namelist,num): s = Queue() for one in namelist: s.enqueue(one) while s.size() > 1: for i in range(num): tmp = s.dequeue() s.enqueue(tmp) tmp = s.dequeue() return s.dequeue()
def hotPotato(namelist, num): q = Queue() for name in namelist: q.enqueue(name) while q.size() > 1: for i in range(num): q.enqueue(q.dequeue()) q.dequeue() return q.dequeue()
def hotpotato(namelist, num): simqueue = Queue() for name in namelist: simqueue.enqueue(name) # 现在的队列是["Brad", "Kent", "Jane", "Susan", "David", "Bill"] # 从Bill开始数,逆时针 while simqueue.size() > 1: for i in range(num): simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() return simqueue.dequeue()
def hot_pot(names, num): # create a Queue q = Queue() _ = [q.enqueue(i) for i in names] count = 0 while q.size()!=1: while count !=num: q.enqueue(q.dequeue()) count +=1 q.dequeue() return q.dequeue()
def hotPotato(namelist, num): gamequeue = Queue() for name in namelist: gamequeue.enqueue(name) while gamequeue.size() > 1: for i in range(num): gamequeue.enqueue(gamequeue.dequeue()) gamequeue.dequeue() return gamequeue.dequeue()
def hotPotato(namelist, num): simqueue = Queue() for name in namelist: simqueue.enqueue(name) #move the names from the list to the queue while simqueue.size() > 1: for i in range(num): simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() #person eliminated return simqueue.dequeue() #person from whom the game restarts
def hotPotato(namelist, num): simqueue = Queue() for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1: for i in range(num): simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() return simqueue.dequeue()
def hotPotato(namelist, num): simqueue = Queue() #taken from previous queue for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1: for i in range(num): simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() return simqueue.dequeue()
def hot_potato(nameslst, num=None): circle = Queue() if not num: num = num_input() print("counter is %d" % (num)) for name in nameslst: circle.enqueue(name) while circle.size() > 1: for i in range(num): circle.enqueue(circle.dequeue()) circle.dequeue() return circle.dequeue()
def hotpotato(namelist, num): simqueue = Queue() for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1: for i in range(num): simqueue.enqueue(simqueue.dequeue()) aa = simqueue.dequeue() print(aa) return simqueue.dequeue()
def hotPotato(namelist, num): simqueue = Queue() for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1: counter=randint(1,len(namelist)) for i in range(counter): simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() return simqueue.dequeue()
def hotPotato(namelist, num): simqueue = Queue() for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1: for i in range(1, num): simqueue.enqueue(simqueue.dequeue()) temp = simqueue.dequeue() print(temp + "*" * 10) return simqueue.dequeue()
def try_to_live(live_list, num): queue = Queue() for people in live_list: queue.enqueue(people) while queue.size() > 1: for i in range(num): print(i) queue.enqueue(queue.dequeue()) queue.dequeue() return queue.dequeue()
def hotPotato(namelist, max_numrange): if max_numrange < 1: return 'max_numrange is too small' simqueue = Queue() for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1: for i in range(random.randint(1, max_numrange)): simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() return simqueue.dequeue()
def hotPotato(namelist, num): # 创建一个队列 simqueue = Queue() # 变量列表将名字放入队列 for name in namelist: simqueue.enqueue(name) # 当队列大于1时不断循环 while simqueue.size() > 1: for i in range(num): # 将队首的元素弹出并放入队尾 simqueue.enqueue(simqueue.dequeue()) simqueue.dequeue() # 循环结束后只剩一个元素 return simqueue.dequeue()
def hotPotato(namelist, num): simqueue = Queue() #create a new queue for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1 : for i in range(num): simqueue.enqueue(simqueue.dequeue()) #the first in queue leaves the queue and enters again. #simqueue.dequeue() break return simqueue.dequeue()
def hotPotato(namelist, num): ## initialize a quene simqueue = Queue() ## add item into the quene for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1: ## extract front(right) and append to the end(left) for num times for i in range(num): simqueue.enqueue(simqueue.dequeue()) ## remove the front simqueue.dequeue() ## return this element return simqueue.dequeue()
def check(namelist,num): queue = Queue() """把名单列表里面的名字全部添加到队列中""" for name in namelist: queue.enqueue(name) while queue.size()>1: """循环队列定义好某几个数从队列头中进行删除操作,被删除之后添加到队尾中""" for i in range(num): queue.enqueue(queue.dequeue()) queue.dequeue() return queue.dequeue()
def bfs(g, start): start.setDistance(0) start.setPred(None) vertQueue = Queue() vertQueue.enqueue(start) while (vertQueue.size() > 0): currentVert = vertQueue.dequeue() for nbr in currentVert.getConnections(): if (nbr.getColor() == 'white'): nbr.setColor('gray') nbr.setDistance(currentVert.getDistance() + 1) nbr.setPred(currentVert) vertQueue.enqueue(nbr) currentVert.setColor('black')
def simulation(numSeconds, pagesPerMinute, stud): labprinter = Printer(pagesPerMinute) printQueue = Queue() waitingtimes = [] for currentSecond in range(numSeconds): if newPrintTask(stud): task = Task(currentSecond) printQueue.enqueue(task) if (not labprinter.busy()) and (not printQueue.isEmpty()): nexttask = printQueue.dequeue() waitingtimes.append(nexttask.waitTime(currentSecond)) labprinter.startNext(nexttask) labprinter.tick() averageWait = sum(waitingtimes)/len(waitingtimes) print('Average Wait %2.2f secs %2d tasks remaining.' % (averageWait, printQueue.size()))
def simulation(num_seconds, page_rate): labPrinter = Printer(page_rate) printerQueue = Queue() waitingTime = [] pages_number = 20 students_number = 10 for second in range(num_seconds): if newPrintTask(students_number): task = Task(second, pages_number) printerQueue.enqueue(task) if (not labPrinter.busy()) and (not printerQueue.isEmpty()): nextTask = printerQueue.dequeue() waitingTime.append(nextTask.waitingTime(second)) labPrinter.startNext(nextTask) labPrinter.tick() averageWait = sum(waitingTime) / len(waitingTime) print("Average Wait %6.2f secs %3d tasks remaining." % (averageWait, printerQueue.size()))
elem=driver.find_elements_by_class_name('snippet__link') except: print "\n_______NO Followers of %s__________\n"%user_name elem=[] for i in elem: url_q.enqueue(str(i.get_attribute('href'))) print "\n*******Network Fetched... Beginning the next crawl************\n" driver.quit() try: crawl() except Exception,e: print str(e) f=open('url_queue.txt','w') print >>f,url while not url_q.isEmpty(): print >>f,url_q.dequeue() f.close() driver.quit() '''Clicking the LOAD MORE button c=1 d=0 a=0 elem=driver.find_element_by_xpath('//*[@id="foodjourney"]/div[2]') while c==1: try: s=wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="foodjourney"]/div[2]'))) elem=driver.find_element_by_xpath('//*[@id="foodjourney"]/div[2]') if str(elem.text)=="": break elem.click()