python проблема с обработкой данных

res_list1 = []
for x in range(0, len(numbers1) - 1):
    if type(numbers1[x]) == (type(int())):
        res1 = r10 * numbers1[x]
        res_list1.append(res1)
print(res_list1)
print(*(i * j for i, j in zip(res_list1[0::2], res_list1[1::2])))

при большом количестве чисел(от 0 до 84) обработка происходит странно

0 54 180 378 648 990 1404 1890 2448 3078 3780 4554 5400 6318 7308 8370 9504 10710 11988 13338 14760 16254 17820 19458 21168 22950 24804 26730 28728 30798

Ответы (1 шт):

Автор решения: n1tr0xs

Не знаю, что для вас происходит странно, но вроде все верно. Вот такой код (я немного изменил ваш):

numbers1 = range(85)
r10 = 3

res_list1 = [r10*x for x in numbers1 if isinstance(x, int)] # так принято у питонистов
m1 = res_list1[0::2]                                        # а это для наглядности
m2 = res_list1[1::2]                                        # и это тоже для наглядности
res = (i * j for i, j in zip(m1, m2))

print(*m1,'\n\n', *m2, '\n\n', *res)

Выводит следующее:

0 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 138 144 150 156 162 168 174 180 186 192 198 204 210 216 222 228 234 240 246 252 

 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87 93 99 105 111 117 123 129 135 141 147 153 159 165 171 177 183 189 195 201 207 213 219 225 231 237 243 249 

 0 54 180 378 648 990 1404 1890 2448 3078 3780 4554 5400 6318 7308 8370 9504 10710 11988 13338 14760 16254 17820 19458 21168 22950 24804 26730 28728 30798 32940 35154 37440 39798 42228 44730 47304 49950 52668 55458 58320 61254

И тут все верно: 0*3==0; 6*9==54; 12*15==180; 18*21==378

→ Ссылка