Как создать функцию, которая принимает несколько чисел, определяет максимальное, минимальное и среднее арифметическое, не прибегая к готовым функциям min(), max(), sum()? Функция должна возвращать список [min_num, max_num, avg_num]. Необходимо выполнить два вызова этой функции: один с числами, переданными через запятую, и другой со списком целых чисел.
Информатика 11 класс Функции в Python функция максимальное число минимальное число среднее арифметическое список чисел вызов функции информатика 11 класс Python программирование алгоритмы Новый
Чтобы создать функцию, которая принимает несколько чисел и определяет максимальное, минимальное и среднее арифметическое, следуйте следующим шагам:
calculate_stats
, которая принимает переменное количество аргументов.min_num
можно инициализировать большим числом, а max_num
- маленьким числом. Также создайте переменную для суммы чисел, чтобы позже рассчитать среднее арифметическое.min_num
и max_num
в зависимости от текущего числа. Также добавляйте текущее число к общей сумме.Теперь давайте посмотрим на реализацию этой функции:
def calculate_stats(*args): min_num = float('inf') # Инициализируем минимальное значение max_num = float('-inf') # Инициализируем максимальное значение total_sum = 0 # Переменная для суммы count = 0 # Счетчик чисел for num in args: if num < min_num: min_num = num # Обновляем минимальное значение if num > max_num: max_num = num # Обновляем максимальное значение total_sum += num # Добавляем текущее число к сумме count += 1 # Увеличиваем счетчик avg_num = total_sum / count # Рассчитываем среднее арифметическое return [min_num, max_num, avg_num] # Возвращаем список результатов
Теперь вызовем эту функцию дважды:
# Первый вызов с числами, переданными через запятую result1 = calculate_stats(10, 20, 5, 15, 30) print(result1) # Вывод: [5, 30, 16.0] # Второй вызов со списком целых чисел numbers = [3, 7, 2, 9, 4] result2 = calculate_stats(*numbers) # Используем распаковку списка print(result2) # Вывод: [2, 9, 5.0]
В результате выполнения этих вызовов вы получите минимальное, максимальное и среднее арифметическое для обоих наборов данных. Обратите внимание, что во втором вызове мы используем распаковку списка с помощью *
, чтобы передать элементы списка как отдельные аргументы функции.