input: Write a function to generate a list using a while loop and appends the current number to the list. The function should take a single integer parameter representing the upper limit of the loop, and it should return the generated list.
  assert generate_list(10) == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  assert generate_list(5) == [0, 1, 2, 3, 4]
  assert generate_list(0) == []
  assert generate_list(-1) == []
output: def generate_list(upper_limit):
      result = []
      i = 0
      while i < upper_limit:
          result.append(i)
          i += 1
      return result