input: Write a python function to find the largest and second largest numbers in a list.
  assert find_largest_and_second_largest([1, 3, 4, 5, 0, 2]) == (5, 4)
  assert find_largest_and_second_largest([10, 20, 20, 9, 8, 7]) == (20, 10)
  assert find_largest_and_second_largest([1, 1, 1, 1, 1]) == (1, float('-inf'))
output: def find_largest_and_second_largest(nums):
      if not nums:
          return (float('-inf'), float('-inf'))
      
      largest = second_largest = float('-inf')
      
      for num in nums:
          if num > largest:
              second_largest = largest
              largest = num
          elif num > second_largest and num != largest:
              second_largest = num
      
      if second_largest == float('-inf'):
          return (largest, float('-inf'))
      
      return (largest, second_largest)