def normalize_list(data): if not data: return [] min_val = min(data) max_val = max(data) # Проверка: если все числа одинаковые, диапазон равен 0 if max_val == min_val: return [0.0 for _ in data] # Применение формулы normalized = [(x - min_val) / (max_val - min_val) for x in data] return normalized # --- Примеры использования --- list1 = [10, 20, 30, 40, 50] print(f"Оригинал: {list1} -> {normalize_list(list1)}") # Результат: [0.0, 0.25, 0.5, 0.75, 1.0] list2 = [5, 5, 5, 5] print(f"Оригинал: {list2} -> {normalize_list(list2)}") # Результат: [0.0, 0.0, 0.0, 0.0] list3 = [-10, 0, 10] print(f"Оригинал: {list3} -> {normalize_list(list3)}") # Результат: [0.0, 0.5, 1.0] normalize_list(list1)