Нахождение максимального и минимального чисел в списке
Задача: написать функцию, которая находит максимальное и минимальное числа в списке без использования встроенных функций max() и min().
def find_max_min(lst): if not lst: return (None, None) max_val = min_val = lst[0] for number in lst[1:]: if number > max_val:
max_val = number elif number < min_val:
min_val = number return (max_val, min_val)
print(find_max_min([1, 2, 3, 4, 5, -1, 10])) # Функция инициализирует максимальное и минимальное значения первым элементом списка, затем проходит по списку, обновляя эти значения.
def recursive_max_min(lst, max_val=None, min_val=None): if not lst: return (max_val, min_val) if max_val is None or lst[0] > max_val:
max_val = lst[0] if min_val is None or lst[0] < min_val:
min_val = lst[0] return recursive_max_min(lst[1:], max_val, min_val)
print(recursive_max_min([1, 2, 3, 4, 5, -1, 10])) # Рекурсивная функция обновляет максимальное и минимальное значения на каждом шаге, исключая уже проверенный элемент.