input: Write a python function to fill missing values in a DataFrame based on the mean of the closest neighbors' values.
  assert fill_missing_values(pd.DataFrame({'username': ['user1', 'user2', 'user3'], 'age': [25, 30, 22], 'score': [85, None, 90]}), 'score')['score'].tolist() == [85, 87.5, 90]
  assert fill_missing_values(pd.DataFrame({'username': ['user1', 'user2', 'user3', 'user4'], 'age': [20, 35, 40, 22], 'score': [None, 88, 85, 90]}), 'score')['score'].tolist() == [89, 88, 85, 90]
  assert fill_missing_values(pd.DataFrame({'username': ['user1', 'user2'], 'age': [28, 25], 'score': [None, 75]}), 'score')['score'].tolist() == [75, 75]
output: def fill_missing_values(df, column):
      for i in range(len(df)):
          if pd.isna(df.loc[i, column]):
              left = right = None
              if i > 0:
                  left = df.loc[i-1, column]
              if i < len(df) - 1:
                  right = df.loc[i+1, column]
  
              if pd.isna(left):
                  left = right
              if pd.isna(right):
                  right = left
              
              df.loc[i, column] = (left + right) / 2
      return df