1. def array_transformer(data, transform_type):
  2. """
  3. Transforms array data based on the specified type.
  4. Args:
  5. data (list or array-like): The input array data.
  6. transform_type (str): The type of transformation to apply.
  7. Valid options: "sum", "average", "max", "min", "reverse".
  8. Returns:
  9. The transformed data, or None if invalid input or transform type.
  10. """
  11. if not isinstance(data, (list, tuple, set)):
  12. print("Error: Input data must be a list, tuple, or set.")
  13. return None
  14. if not data:
  15. print("Error: Input data cannot be empty.")
  16. return None
  17. try:
  18. data = [float(x) for x in data] # Convert elements to float for calculations.
  19. except ValueError:
  20. print("Error: Input data elements must be convertible to numbers.")
  21. return None
  22. if transform_type == "sum":
  23. return sum(data)
  24. elif transform_type == "average":
  25. return sum(data) / len(data)
  26. elif transform_type == "max":
  27. return max(data)
  28. elif transform_type == "min":
  29. return min(data)
  30. elif transform_type == "reverse":
  31. return data[::-1] # Create reversed copy.
  32. else:
  33. print("Error: Invalid transform type. Valid options are 'sum', 'average', 'max', 'min', 'reverse'.")
  34. return None
  35. if __name__ == '__main__':
  36. # Example Usage (manual execution)
  37. arr1 = [1, 2, 3, 4, 5]
  38. print(f"Original array: {arr1}")
  39. # Sum
  40. sum_result = array_transformer(arr1, "sum")
  41. print(f"Sum: {sum_result}")
  42. # Average
  43. avg_result = array_transformer(arr1, "average")
  44. print(f"Average: {avg_result}")
  45. # Max
  46. max_result = array_transformer(arr1, "max")
  47. print(f"Max: {max_result}")
  48. # Min
  49. min_result = array_transformer(arr1, "min")
  50. print(f"Min: {min_result}")
  51. # Reverse
  52. reverse_result = array_transformer(arr1, "reverse")
  53. print(f"Reversed: {reverse_result}")
  54. # Error Handling Examples
  55. print(array_transformer("hello", "sum")) # Invalid data type
  56. print(array_transformer([], "sum")) # Empty array
  57. print(array_transformer([1, "a", 3], "sum")) # Non-numeric data
  58. print(array_transformer(arr1, "invalid_type")) # Invalid transform type

Add your comment