Нужен код программы и блок-схема на 2 задачи Питон


Нужен код программы и блок-схема на 2 задачи Питон

ivan70region ivan70region    3   25.01.2021 14:03    0

Ответы
lubovsalamatova lubovsalamatova  24.02.2021 14:04

Задание 1: Найти произведение элементов массива с чётными номерами

def input_Mas():

 '''

 Данная функция позволяет заполнить одномерный массив длинной n с клавиатуры.

 Возвращает заполненный массив.

 '''

 while True:

   try:

     n = int(input('Введите количество элементов в массиве: '))

     if n > 0: break

     else: print('Количество элементов должно быть целым положительным числом.')

   except ValueError:

     print('Количество элементов должно быть целым положительным числом.')

 a =[0]*n

 i = 0

 while i < len(a):

   try:

     a[i] = float(input('Введите %d элемент списка ' % (i+1)))

     i+=1

   except ValueError:

     print('Вы ввели некорректное значение. Вводите целое число.')

 return a

def multi_Mas(a):

 y = 1

 for i in range(0,len(a),2):

   y *= a[i]

 return y

'''

Основной код программы

'''

print('-= Данная программа вычисляет произведение всех элементов массива с чётными индексами =-')

print()

mas = input_Mas()

print(mas)

print(f'Произведение элементов с чётными индексами: {multi_Mas(mas)}')

Задание 2: Найти сумму элементов массива, расположенных между первым и последним нулевыми элементами

def input_Mas():

 '''

 Данная функция позволяет заполнить одномерный массив длинной n с клавиатуры.

 Возвращает заполненный массив.

 '''

 while True:

   try:

     n = int(input('Введите количество элементов в массиве: '))

     if n > 0: break

     else: print('Количество элементов должно быть целым положительным числом.')

   except ValueError:

     print('Количество элементов должно быть целым положительным числом.')

 a =[0]*n

 i = 0

 while i < len(a):

   try:

     a[i] = float(input('Введите %d элемент списка ' % (i+1)))

     i+=1

   except ValueError:

     print('Вы ввели некорректное значение. Вводите целое число.')

 return a

def getIndexOfElement(a, e, first=True):

 '''

 Данная функция возвращает индекс первого (при first = True) или последнего (при first = False) элемента со значением e

 '''

 index = -1

 if first == True:

   i = 0

   while i < len(a) and index == -1:

     if a[i] == e:

       index = i

     i+=1

 if first == False:

   i = len(a)-1

   while i >= 0 and index == -1:

     if a[i] == e:

       index = i

     i+=-1

 if index >= 0:

   return index

 else: raise ValueError

'''

Основной код программы

'''

print('-= Данная программа вычисляет сумму всех элементов массива, стоящих между первым и последним элементами определённого значения =-')

print()

mas = input_Mas() # заполняем массив

print(mas)

while True:

 try:

   elem = float(input('Значение элемента, между которыми нужно посчитать сумму: '))

   break

 except ValueError:

   print('Значение элемента должно быть числом.')

try:

 print(f'Сумма между первым и последним {elem} равна: {sum(x for x in mas[getIndexOfElement(mas,elem)+1:getIndexOfElement(mas,elem,False)])}')

except:

 print(f'Элемента {elem} в массиве {mas} не существует.')

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика