コード例 #1
0
def cinema_queue(queue, till_show, tsold_time):
	viewers=Queue()                         #количество зрителей
	sold_ticket=[]                          #количество купленных билетов

	for i in range (10):
		viewers.enqueue("Зритель "+str(i))      #зритель приобрёл билет

	now=time.time()                         #с 1 января 1970 года прошло секунд
	a=now                                   #зафиксировать момент времени
	c=0                                     #переменная для записи количества прошедшего времени
	t=0                                     #время до конца фильма
	x=0                                     #переменная для проверки возможности приобретения билетов до начала киносеанса
	while x>=0 and not viewers.is_empty():  #если фильм ещё не начался и в очереди есть зрители
		now=time.time()                 #прошедшее время с начала отсчета в секундах
		b=now                           #зафиксировать момент времени
		c=b-a                           #от момента a до b прошло c секунд
		t=till_show-c                   #время, остающееся до начала фильма
		print("До начала фильма осталось ", t, "секунд")
		#print("С начала отсчёта прошло ", c, " секунд")
		r=random.randint(10,15)         #рандомное время ожидания в очереди (от 20 до 30 секунд)
		x=t-r                           
		if x>0:
				print("Предположительное время ожидания: ", r, " секунд")
				time.sleep(r)                   #временная задержка
				person=viewers.dequeue()        #последнее значение, добавленное в очередь Зрители
				print("Зритель ", person)
				sold_ticket.append(person)      #количество зрителей на киносеансе
		else:
				print("Киносеанс уже начался. Продажа билетов завершена.")
	print("Количество приобретенных на киносеанс билетов: ", len(sold_ticket))
	return sold_ticket