input: Write a function that checks if the first string is a subsequence of the second string. A subsequence is a sequence that can be derived from another sequence by deleting some or no elements without changing the order of the remaining elements. The function should return True if the first string is a subsequence of the second, otherwise return False.
  
  
  def is_subsequence(str1, str2):
      i = 0
      j = 0
  
      while(i < len(str1) and j < len(str2)):
          if str1[i] == str2[j]:
              i += 1
          j += 1
  
      return i == len(str1)
  
  assert is_subsequence("abc", "qaxbcy") == True
  assert is_subsequence("abc", "aaxbcy") == False
  assert is_subsequence("xyz", "xzyz") == True
  assert is_subsequence("xyz", "xyyz") == False
  assert is_subsequence("", "qaxbcy") == True # An empty string is always a subsequence of any string
  assert is_subsequence("abc", "") == False # No string (except an empty one) can be a subsequence of an empty string
  
output: def is_subsequence(str1, str2):
      i = 0
      j = 0
  
      while(i < len(str1) and j < len(str2)):
          if str1[i] == str2[j]:
              i += 1
          j += 1
  
      return i == len(str1)