input: Write a python function to generate a list of prime numbers up to a given number n.
  assert generate_primes(10) == [2, 3, 5, 7]
  assert generate_primes(20) == [2, 3, 5, 7, 11, 13, 17, 19]
  assert generate_primes(2) == [2]
output: def generate_primes(n):
      def is_prime(x):
          if x < 2:
              return False
          for i in range(2, int(x ** 0.5) + 1):
              if x % i == 0:
                  return False
          return True
  
      primes = []
      for num in range(2, n + 1):
          if is_prime(num):
              primes.append(num)
      return primes