input: Write a python function to load a CSV file into a pandas DataFrame, scale the features using MinMaxScaler, and split the data into training and testing sets.
  assert load_and_preprocess_data('housing_data.csv')[0].shape[1] == load_and_preprocess_data('housing_data.csv')[2].shape[1]
  assert load_and_preprocess_data('housing_data.csv')[1].shape[0] + load_and_preprocess_data('housing_data.csv')[3].shape[0] == load_and_preprocess_data('housing_data.csv')[4].shape[0]
output: def load_and_preprocess_data(file_path):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.preprocessing import MinMaxScaler
  
      # Load CSV file into DataFrame
      df = pd.read_csv(file_path)
  
      # Separate features and target variable (assuming the target is in the last column)
      X = df.iloc[:, :-1]
      y = df.iloc[:, -1]
  
      # Scale the features using MinMaxScaler
      scaler = MinMaxScaler()
      X_scaled = scaler.fit_transform(X)
  
      # Split the data into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
  
      return X_train, X_test, y_train, y_test, df