Задачи на списки в Python:
1. Опишите алгоритм подсчета произведения всех отрицательных элементов заданного целочисленного массива размером 30 элементов
2. Опишите алгоритм подсчета максимального количества подряд идущих отрицательных элементов в заданном целочисленном массиве длиной 30.
3. Опишите алгоритм подсчета суммы всех отрицательных элементов заданного целочисленного массива размером 30 элементов. Если отрицательных элементов нет сообщите об этом выводом «NO» на экран
demianwolfssd:
В каждом задании упоминают "массивы". Для Python это неправильно, так как хотя в этом языке программирования и есть массивы (arrays), их КРАЙНЕ редко используют. Вместо них есть списки (lists), кортежи (tuples), множества (sets) и другие типы данных. Впрочем, если интересно, можешь почитать https://pythonworld.ru/moduli/modul-array-massivy-v-python.html и https://stackoverflow.com/questions/176011/python-list-vs-array-when-to-use
Ответы
Ответ дал:
1
Вот код:
import random
# Сгенерируем список
lst = [random.randint(-30, 30) for _ in range(30)]
# 1
result = 1
for item in lst:
if item < 0:
result *= item
print(result)
# или
from functools import reduce
print(reduce(lambda x, y: x * y,
filter(lambda item: item < 0, lst)))
# 2
max_count = 0
count = 0
for item in lst:
if item < 0:
count += 1
if count > max_count:
max_count = count
print(max_count)
# 3
result = 0
for item in lst:
if item < 0:
result += item
print(result)
# или
negative_nums = list(filter(lambda item: item < 0, lst))
print(sum(negative_nums) if negative_nums else "NO")
Вас заинтересует
1 год назад
1 год назад
6 лет назад
6 лет назад
8 лет назад