input: Write a function to generate a dictionary from a given list of numbers, where each key is a number and the corresponding value is the square of that number. Return the generated dictionary.
  
  assert generate_square_dict([1, 2, 3, 4, 5]) == {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
  assert generate_square_dict([0, -1, -2, 3, 4]) == {0: 0, -1: 1, -2: 4, 3: 9, 4: 16}
  assert generate_square_dict([]) == {}
output: def generate_square_dict(numbers):
      return {num: num**2 for num in numbers}