Вопрос задан 25.10.2023 в 22:28. Предмет Информатика. Спрашивает Ласкина Анастасия.

НЕ ИСПОЛЬЗОВАТЬ ГОТОВЫЕ ФУНКЦИИ min(), max(), sum() Напишите функцию, которая принимает несколько

чисел, упаковывает их, находит максимальное, минимальное и среднее арифметическое. Из результатов функция должна сформировать список [min_num, max_num, avg_num] и вернуть этот список. Сделайте два вызова этой функции: - в первом случае передайте ей через запятую несколько чисел. - во втором случае передайте ей список целых чисел.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ли Аделина.

Відповідь:

Пояснення:

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример реализации функции, которая выполняет описанные операции без использования встроенных функций min(), max() и sum():

python
def 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)

Пожалуйста, обратите внимание, что данная реализация не обрабатывает случай, когда не было передано аргументов. Это можно доработать, добавив соответствующую проверку на длину аргументов перед началом выполнения цикла.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос