Форум сайта python.su
0
Здравствуйте!
Помогите мне, пожалуйста!
Помогите, пожалуйста, решить.
В Интернете, я, к сожалению, ничего не решил.
Заранее спасибо!
С уважением Илья.
PS У меня двадцать таких Задач!
Но я бы хотел, чтобы Вы помогли мне хотя бы с этой, а уж остальные я бы сам попытался решить по Аналогии с этой.
Итак, само Условие.
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1. Максимальный по модулю элемент массива.
2. Сумму элементов массива, расположенных между первым и вторым положительными элементами.
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных.
Офлайн
857
Iskryen123
1. Максимальный по модулю элемент массива.
>>> def maxmod(seq): ... return max(seq, key=lambda i: abs(i)) ... >>> maxmod([1, 2, 3, 4, 5, 1, 2, 3]) 5 >>> maxmod([1, 2, 3, 4, -5, 1, 2, 3]) -5 >>>
Iskryen123
2. Сумму элементов массива, расположенных между первым и вторым положительными элементами.
>>> def sumpospos(seq): ... out = 0 ... f_getsum = False ... for i in seq: ... if f_getsum: ... if i > 0: ... break ... out += i ... elif i > 0: ... f_getsum = True ... return out ... >>> sumpospos([]) 0 >>> sumpospos([1, 2, 3]) 0 >>> sumpospos([1, -2, 3]) -2 >>> sumpospos([-4, 2, 0, -2, -1, 3, -10, 4]) -3 >>>
Iskryen123
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных.
>>> def zerotoend(seq): ... return sorted(seq, key=lambda i: i == 0) ... >>> zerotoend([-4, 2, 0, -2, -1, 0, 0, 3, 0, -10, 4]) [-4, 2, -2, -1, 3, -10, 4, 0, 0, 0, 0] >>>
Отредактировано py.user.next (Июнь 22, 2019 01:31:33)
Офлайн
0
Спасибо Вам огромное!
Офлайн