Помогите решить задание на Python
- Дан массив целых чисел. Найти сумму элементов с четными номерами и произведение элементов с нечетными номерами. Вывести сумму и произведение.
- Переставить в одномерном массиве минимальный элемент и максимальный.
Сделал 1 , но не знаю как вывести из этого 2 задание
from random import randint as g
s, p, l = 0, 1, [g(-10, 10) for i in range(g(10, 20))]
for i in l: (p := p * i) if i % 2 else (s := s + i)
print(f'{l}\nСумма чётных: {s}\nПроизведение нечётных: {p}')
Ответы (2 шт):
Автор решения: Zhihar
→ Ссылка
а в чем проблема?
если вам нужно просто решение - решайте в лоб
- найдите минимальный и максимальный элементы в массиве через функции
min,max - пройдите по массиву и найдите первые позиции таких элементов
- поменяйте их местами
например так:
pos_min, pos_max, value_min, value_max = 0, 0, l[0], l[0]
for i in range(len(l)):
if l[i] < value_min:
pos_min = i
value_min = l[i]
if l[i] > value_max:
pos_max = i
value_max = l[i]
l[pos_min], l[pos_max] = value_max, value_min
Автор решения: n1tr0xs
→ Ссылка
from random import randint as g
from functools import reduce
l = [g(-10, 10) for i in range(g(10, 20))]
s = sum(l[::2])
p = reduce(type(l[0]).__mul__, l[1::2])
l[l.index(min(l))], l[l.index(max(l))] = max(l), min(l)
print(f'{l}\nСумма чётных: {s}\nПроизведение нечётных: {p}')