Функция для поиска максимального числа

3. Функция для поиска максимального числа

Условие задачи:
Написать функцию, которая находит и возвращает самое большое число среди переданных значений.

Спойлеры к решению
Подсказки
  • Нужно написать функцию, которая принимает произвольное количество чисел.
  • Для этого удобно использовать *args.
  • Если числа не переданы, можно вернуть None или выбросить ошибку.
  • Самое простое решение — использовать встроенную функцию max().
  • Если нужно показать алгоритм вручную, можно пройтись циклом по всем числам и хранить текущий максимум.
Решение
def find_max(*numbers: int) -> int | None:
    if not numbers:
        return None

    max_number = numbers[0]

    for number in numbers:
        if number > max_number:
            max_number = number

    return max_number

Пример использования:

print(find_max(1, 5, 3, 10, 2))  # 10
print(find_max(-5, -1, -10))     # -1
print(find_max())                # None

Функция принимает любое количество чисел через *numbers. Сначала максимальным считается первый элемент, затем функция проходит по остальным значениям и обновляет максимум, если находит число больше текущего.