import random
class ArrayGenerator:
@staticmethod
def generate():
length = random.choice([5, 7, 9, 11])
return [random.randint(1, 100) for _ in range(length)]
class ArrayCalculator:
@staticmethod
def sum_arr(arr):
return sum(arr)
@staticmethod
def multiply_arr(arr):
res = 1
for x in arr:
res *= x
return res
class ArrayModifier:
@staticmethod
def replace_half_with_zeros(arr):
new = arr.copy()
half = (len(new) + 1) // 2
for i in range(half):
new[i] = 0
return new
class ArrayProcessor:
def __init__(self):
self.array = None
def generate(self):
self.array = ArrayGenerator.generate()
return self.array
def get_sum(self):
return ArrayCalculator.sum_arr(self.array)
def get_product(self):
return ArrayCalculator.multiply_arr(self.array)
def get_replaced(self):
return ArrayModifier.replace_half_with_zeros(self.array)
def menu(self):
self.generate()
print(f"Массив: {self.array}")
print(f"Сумма: {self.get_sum()}")
print(f"Произведение: {self.get_product()}")
print(f"После замены: {self.get_replaced()}")