input: Write a python function to create a decorator that counts the number of times a given function is called.
  assert random_function() == None  # prints "random_function has been called 1 time!"
  assert random_function() == None  # prints "random_function has been called 2 times!"
  assert random_function() == None  # prints "random_function has been called 3 times!"
output: def count_calls(func):
      def wrapper(*args, **kwargs):
          wrapper.calls += 1
          print(f"{func.__name__} has been called {wrapper.calls} time{'s' if wrapper.calls > 1 else ''}!")
          return func(*args, **kwargs)
      wrapper.calls = 0
      return wrapper
  
  @count_calls
  def random_function():
      pass