input: def find_max_negative_and_min_positive(nums):
      '''
      Construct a function that yields a tuple (largest_neg, smallest_pos), 
      where 'largest_neg' is the biggest negative integer and 'smallest_pos' is 
      the smallest positive integer from a given list.
      If no negative or positive integers exist, return None for each respectively.
  
      Examples:
      find_max_negative_and_min_positive([2, 4, 1, 3, 5, 7]) == (None, 1)
      find_max_negative_and_min_positive([]) == (None, None)
      find_max_negative_and_min_positive([0]) == (None, None)
      '''
output:     largest_neg = None
      smallest_pos = None
  
      for num in nums:
          if num < 0:
              if largest_neg is None or num > largest_neg:
                  largest_neg = num
          elif num > 0:
              if smallest_pos is None or num < smallest_pos:
                  smallest_pos = num
  
      return (largest_neg, smallest_pos)