Найти произведение первого, третьего и шестого положительных элементов списка-массива (Python)

Тема: 
Списки, кортежи

В списке, состоящем из положительных и отрицательных целых чисел, найти первый, третий и шестой положительные элементы и вычислить их произведение.

Задача усложнена тем, что, например, третий по счету положительный элемент может быть далеко не третим в списке, а каким угодно.

Основная часть алгоритма решения задачи:

  1. Ввести в программу счетчик положительных элементов (j). Присвоить ему значение 1 (т.е. он указывает на первый положительный элемент).
  2. Перебирать элементы массива-списка по-очереди. Если очередной элемент положительный и счетчик положительных элементов равен 1 или 3 или 6, то сохранить в соответствующей переменной индекс данного элемента. Кроме того, если шестой положительный элемент найден, то нет смысла продолжать цикл дальше и можно его завершить (оператор break).
  3. Если в массиве был найден шестой положительный элемент (первый и третий тогда точно найдены), то вычислить произведение.

В программе ниже для заполнения списка используется так называемый генератор. В данном случае выражение round(random.random() * 100) - 50 используется в цикле, который выполняется 20 раз. И на каждой итерации цикла получившееся число помещается в список a.

import random
a = [round(random.random() * 100) - 50 for i in range(20)]
print(a)
 
i = j = 0
i1 = i3 = i6 = -1
while i < 20:
while i < 20:
	if a[i] > 0:
		if j == 1:
			i1 = i
		elif j == 3:
			i3 = i
		elif j == 6:
			i6 = i
			break
		j += 1
	i += 1
 
if i6 > 0:
	mult = a[i1] * a[i3] * a[i6]
	print("Индексы элементов:", i1, i3, i6)
	print("%d * %d * %d = %d" % (a[i1], a[i3], a[i6], mult))

[-45, 30, 31, -40, 22, -48, -18, -24, -21, 25, -38, 43, 30, 15, -33, -41, -8, 29, 26, 24]
Индексы элементов: 1 4 12
30 * 22 * 30 = 19800

A=[1,-2,3,-4,5,-6,7,-8,9,-10,

A=[1,-2,3,-4,5,-6,7,-8,9,-10,11,-12,13,-14,15]
B=[]
C=[]
for i in A:
    while i>0:
        B.append(i)
        break
    else:
        C.append(i)
F=B[0]*B[2]*B[5]
print(A,'\n',B,'\n',F)