input: Write a python function to recommend movies based on user similarity scores.
  assert set(recommend_movies(1, rating_matrix, similarity_scores)) != set(df[df['user_id'] == 1]['movie_title'])
  assert len(recommend_movies(2, rating_matrix, similarity_scores)) > 0
  assert isinstance(recommend_movies(3, rating_matrix, similarity_scores), list)
output: def recommend_movies(user_id, rating_matrix, similarity_scores):
      import numpy as np
      import pandas as pd
  
      # Get the ratings given by the specified user
      user_ratings = rating_matrix.loc[user_id]
  
      # Exclude movies already rated by the user
      unrated_movies = user_ratings[user_ratings == 0].index
  
      # Calculate a weighted sum of ratings for each unrated movie
      movie_scores = {}
      for movie in unrated_movies:
          weighted_ratings = 0
          similarity_sum = 0
          for other_user, similarity in similarity_scores[user_id].items():
              if rating_matrix.loc[other_user, movie] > 0:
                  weighted_ratings += similarity * rating_matrix.loc[other_user, movie]
                  similarity_sum += similarity
          if similarity_sum > 0:
              movie_scores[movie] = weighted_ratings / similarity_sum
  
      # Sort movies based on the calculated scores
      recommended_movies = sorted(movie_scores, key=movie_scores.get, reverse=True)
  
      return list(recommended_movies)