Python
import itertools

shape = ["square", "circle"]
size = ["large", "small"]
color = ["red", "blue"]

num_1 = [10, 7.5]
num_2 = [3, 11]


combinations = list(itertools.product(shape, size, color, num_1, num_2))
clean_combos = []
for i in combinations:
    clean_combos.append((i[0], i[1], i[2], i[3]*i[4]))
    
for j in clean_combos:
    print(j)
('square', 'large', 'red', 30)
('square', 'large', 'red', 110)
('square', 'large', 'red', 22.5)
('square', 'large', 'red', 82.5)
('square', 'large', 'blue', 30)
('square', 'large', 'blue', 110)
('square', 'large', 'blue', 22.5)
('square', 'large', 'blue', 82.5)
('square', 'small', 'red', 30)
('square', 'small', 'red', 110)
('square', 'small', 'red', 22.5)
('square', 'small', 'red', 82.5)
('square', 'small', 'blue', 30)
('square', 'small', 'blue', 110)
('square', 'small', 'blue', 22.5)
('square', 'small', 'blue', 82.5)
('circle', 'large', 'red', 30)
('circle', 'large', 'red', 110)
('circle', 'large', 'red', 22.5)
('circle', 'large', 'red', 82.5)
('circle', 'large', 'blue', 30)
('circle', 'large', 'blue', 110)
('circle', 'large', 'blue', 22.5)
('circle', 'large', 'blue', 82.5)
('circle', 'small', 'red', 30)
('circle', 'small', 'red', 110)
('circle', 'small', 'red', 22.5)
('circle', 'small', 'red', 82.5)
('circle', 'small', 'blue', 30)
('circle', 'small', 'blue', 110)
('circle', 'small', 'blue', 22.5)
('circle', 'small', 'blue', 82.5)