• Предмет: Информатика
  • Автор: A1l9i8n4a
  • Вопрос задан 5 месяцев назад

ПОМОГИТЕ ДАЮ 100 Б. ПАЙТОН

Приложения:

Ответы

Ответ дал: egoregdark
0

from random import randint

# Список случайных значений (длинна и ограничения в числах указаны не были, сделал свои)

lst = []

for _ in range(10): lst.append(randint(-10, 10))

print('Список:', lst)

# №1

sum_1 = 0

sum_2 = 0

sum_3 = 0

sum_6 = 0

mult_4 = 1

mult_5 = 1

for i in range(len(lst)):

   # 1

   if lst[i] < 0: sum_1 += lst[i]

   # 2

   if lst[i] % 2 == 0: sum_2 += lst[i]

   # 3

   else: sum_3 += lst[i]

   # 4

   if i % 3 == 0: mult_4 *= lst[i]

# 5

lstTemp = lst[min(lst.index(min(lst)), lst.index(max(lst))):max(lst.index(min(lst)), lst.index(max(lst))) + 1]

for j in lstTemp: mult_5 *= j

# 6

for n in lst:

   if n > 0:

       first = lst.index(n)

       break

for m in range(1, len(lst)):

   if lst[-m] > 0:

       second = lst.index(lst[-m])

       break

sum_6 = sum(lst[first:(second+1)])

print(f"""

Сумма отрицательных: {sum_1}

Сумма парных: {sum_2}

Сумма непарных: {sum_3}

Произведение элементов с индексами кратными 3: {mult_4}

Произведение между мин и макс: {mult_5}

Сумма между первым положительным и последним: {sum_6}

""")

# №2

lst_1 = []

lst_2 = []

lst_3 = []

lst_4 = []

for i in lst:

   if i % 2 == 0: lst_1.append(i)  # 1

   else: lst_2.append(i)  # 2

   if i < 0: lst_3.append(i)  # 3

   elif i > 0: lst_4.append(i)  # 4

print(f"""

Парные: {lst_1}

Непарные: {lst_2}

Отрицательные: {lst_3}

Положительные: {lst_4}

""")

Если пробелы не отображаются загрузил текстовый файл

Приложения:

egoregdark: Но вроде с пробелами и так всё норм
Ответ дал: p15
0

Ответ:

from random import randint

from functools import reduce

n=5

A=[randint(-10,10) for i in range(n)]

print('Список: ',A) #создали и распечатали список

print('\nсумма отрицательных: ',sum(x for x in A if x<0),

     '\nсумма четных: ',sum(x for x in A if not(x%2)),

     '\nсумма нечетных: ',sum(x for x in A if x%2),

     '\nпроизведение элементов с индексами кратными 3:',

     reduce(lambda x, y: x * y, [A[i] for i in range(n) if not(i%3)]),

     '\nпроизведение элементов находящимися между максимальным и минимальным:',

     reduce(lambda x, y: x * y, [A[i] for i in range(min(A.index(min(A)),A.index(max(A))), max(A.index(min(A)),A.index(max(A)))+1)]))

     #сами максимальный и минимальный включаем, т.к. если между ними ничего, что выдавать?

# далее я сдался, потому что красиво не получается и решил сначала сделать задание 2 на том же списке.

#Если это сразу делать, то многое можно упростить в суммах, но уже как есть.

B=[x for x in A if not(x%2)]

C=[x for x in A if x%2]

D=[x for x in A if x<0]

E=[x for x in A if x>0]

T=[i for i in range(n) if A[i]>0] # индексы положительных

# теперь с T списком легко сделать последнее тоже

print('cумма между первым положительным и последним:',sum(A[i] for i in range(T[0]+1,T[-1])))

#Сами этот первый положительный и последний не включаются.

print('\nЗадание 2:')

print('четные:',B)

print('нечетные:',C)

print('отрицательные:',D)

print('положительные:',E)

Объяснение:

Было интересно потренироваться над генерацией спиcков.

Вас заинтересует