0
0 комментариев

Решал задачу на Python, но при использовании модуля random.shuffle периодически, в консоль, выводит не корректный ответ. Без использования модуля ошибки не возникает!

Даны действительные числа a1, a2, …, аn. Среди них есть положительные и отрицательные. Заменить нулями те числа, величина которых по модулю больше максимального числа (|ai| > max{a1, a2, …, аn}).

import random
c = [2, -2, -6, -8, 7, -9, 1, -3, -5, -11, 3, -7, -10, 0, -1, 4, -4, -12, 5, 6]
random.shuffle(c)
b = max(c)
for i in c:
    if abs(c[i]) > b:
        c[i] = 0
print(c)

Так вот, может вывести такой ответ:

[0, -7, -2, 0, 0, -5, -3, 5, -6, -4, <strong>-11</strong>, 0, 3, -1, 4, 7, 1, 0, 2, 6].

Где -11 не должно быть!


Добавить комментарий