input: Write a function that generates the Fibonacci sequence up to a given number n. The function should return a list containing all Fibonacci numbers up to and including n. If n is less than or equal to 0, return an empty list.
  assert Fibonacci(0)==[]
  assert Fibonacci(1)==[0, 1]
  assert Fibonacci(5)==[0, 1, 1, 2, 3, 5]
output: def Fibonacci(n):
      if n <= 0:
          return []
      fib_sequence = [0, 1]
      while fib_sequence[-1] <= n:
          next_fib = fib_sequence[-1] + fib_sequence[-2]
          if next_fib > n:
              break
          fib_sequence.append(next_fib)
      return fib_sequence