Предмет: Информатика, автор: mirrza975

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

Ответы

Автор ответа: lisyuchenkoaleksandr
1

Відповідь:

Пояснення:

Для решения этой задачи, мы можем написать функцию, которая принимает произвольное количество чисел (или список целых чисел), а затем находит минимальное, максимальное и среднее арифметическое значение. Затем, функция сформирует список [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].


mirrza975: Спасибо большое
Похожие вопросы
Предмет: Математика, автор: opravosud2
Предмет: Химия, автор: izubkova752