
НЕ ИСПОЛЬЗОВАТЬ ГОТОВЫЕ ФУНКЦИИ min(), max(), sum() Напишите функцию, которая принимает несколько
чисел, упаковывает их, находит максимальное, минимальное и среднее арифметическое. Из результатов функция должна сформировать список [min_num, max_num, avg_num] и вернуть этот список. Сделайте два вызова этой функции: - в первом случае передайте ей через запятую несколько чисел. - во втором случае передайте ей список целых чисел.

Ответы на вопрос

Відповідь:
Пояснення:
Для решения этой задачи, мы можем написать функцию, которая принимает произвольное количество чисел (или список целых чисел), а затем находит минимальное, максимальное и среднее арифметическое значение. Затем, функция сформирует список [min_num, max_num, avg_num] и вернет его.
Вот код функции:
def find_min_max_avg(*args):
# Проверяем, передали ли нам список целых чисел. Если да, конвертируем в кортеж.
if len(args) == 1 and isinstance(args[0], list):
args = tuple(args[0])
min_num = max_num = args[0] # Инициализируем минимум и максимум первым элементом.
total_sum = 0
for num in args:
if num < min_num:
min_num = num
if num > max_num:
max_num = num
total_sum += num
avg_num = total_sum / len(args)
return [min_num, max_num, avg_num]
# Примеры вызовов функции:
# 1. Передаем несколько чисел через запятую:
result_1 = find_min_max_avg(10, 5, 20, 8, 15)
print(result_1) # Вывод: [5, 20, 11.6]
# 2. Передаем список целых чисел:
numbers = [30, 12, 25, 18, 22]
result_2 = find_min_max_avg(numbers)
print(result_2) # Вывод: [12, 30, 21.4]
Функция find_min_max_avg принимает переменное количество аргументов (*args). Если передается только один аргумент и он является списком целых чисел, функция преобразует его в кортеж для обработки. Затем, в цикле проходим по всем числам и находим минимальное и максимальное значение, а также вычисляем общую сумму. Находим среднее арифметическое, разделив общую сумму на количество чисел, и возвращаем результат в виде списка [min_num, max_num, avg_num].



Вот пример реализации функции, которая выполняет описанные операции без использования встроенных функций min()
, max()
и sum()
:
pythondef custom_operations(*args):
if len(args) == 0:
return []
min_num = args[0]
max_num = args[0]
total_sum = 0
for num in args:
if num < min_num:
min_num = num
if num > max_num:
max_num = num
total_sum += num
avg_num = total_sum / len(args)
return [min_num, max_num, avg_num]
# Вызов функции с передачей нескольких аргументов
result1 = custom_operations(1, 2, 3, 4, 5)
# Вызов функции с передачей списка целых чисел
result2 = custom_operations(*[1, 2, 3, 4, 5])
print("Результат вызова функции с передачей нескольких аргументов:", result1)
print("Результат вызова функции с передачей списка целых чисел:", result2)
Пожалуйста, обратите внимание, что данная реализация не обрабатывает случай, когда не было передано аргументов. Это можно доработать, добавив соответствующую проверку на длину аргументов перед началом выполнения цикла.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili