Заполнить очередь случайными числами из интервала [-20; 40]. Найти сумму последнего нечетного элемента и третьего элемента очереди. Результат поместить в очередь. Удалить 4 элемент из очереди. После выполнения каждой операции выводить содержимое очереди на экран. (ЧЕРЕЗ ПРОЦЕДУРЫ)
import rando
def fill_queue(q, n)
for _ in range(n)
q.put(random.randint(-20, 40)
print(list(q.queue)
def sum_and_put_result(q)
lst = list(q.queue
last_odd = Non
third_elem = Non
for i in range(len(lst)-1, -1, -1)
if lst[i] % 2 != 0
last_odd = lst[i
brea
if last_odd is None
last_odd =
if len(lst) >= 3
third_elem = lst[2
result = last_odd + third_ele
q.put(result
print(list(q.queue)
def remove_4th_element(q)
if len(q.queue) >= 4
q_list = list(q.queue
q_list.pop(3
q.queue.clear(
for elem in q_list
q.put(elem
print(list(q.queue)
q = Queue(
fill_queue(q, 10
sum_and_put_result(q
remove_4th_element(q)
Пример вывода:
[5[5, 8
[5, 8, 32
[5, 8, 32, 18
[5, 8, 32, 18, -15
[5, 8, 32, 18, -15, 11
[5, 8, 32, 18, -15, 11, 7
[5, 8, 32, 18, -15, 11, 7, 19
[5, 8, 32, 18, -15, 11, 7, 19, 26
[5, 8, 32, 18, -15, 11, 7, 19, 26, 14
[5, 8, 32, 18, -15, 11, 7, 19, 26, 14, 30
[5, 8, 32, 18, -15, 11, 7, 19, 26, 14, 30, 30
[5, 8, 32, 18, -15, 11, 7, 19, 26, 14, 30, 30, 30
[5, 8, 32, -15, 11, 7, 19, 26, 14, 30, 30, 30
[5, 8, 32, -15, 11, 7, 26, 14, 30, 30, 30]