input: Write a function to evaluate the accuracy of a machine-learning model given the model, features and target variables for both training and testing sets. If the model is trained and the predictions are made, then the function should calculate and return the accuracy.
  
  assert evaluate_model(SVC(kernel='poly', degree=2, gamma=0.05), X_train, y_train, X_test, y_test) == "Accuracy: 0.95"
  assert evaluate_model(SVC(kernel='linear'), X_train, y_train, X_test, y_test) == "Accuracy: 0.92"
  assert evaluate_model(SVC(kernel='rbf'), X_train, y_train, X_train, y_train) == "Accuracy: 1.0"
  assert evaluate_model(SVC(), None, None, None, None) == None
  assert evaluate_model(None, X_train, y_train, X_test, y_test) == None
output: def evaluate_model(model, X_train, y_train, X_test, y_test):
      if model is None or X_train is None or y_train is None or X_test is None or y_test is None:
          return None
      model.fit(X_train, y_train)
      predictions = model.predict(X_test)
      accuracy = accuracy_score(y_test, predictions)
      return f"Accuracy: {accuracy:.2f}"