input: Write a function to compute the edit distance between two strings using dynamic programming. If either of the strings is empty, the edit distance is considered to be the length of the non-empty string. 
  assert edit_distance("kitten", "sitting")==3
  assert edit_distance("cat", "cap")==1
  assert edit_distance("hello", "")==5
  assert edit_distance("", "world")==5
  assert edit_distance("algorithm", "altruistic")==6
  assert edit_distance("", "")==0
output: def edit_distance(str1, str2):
      m, n = len(str1), len(str2)
      dp = [[0] * (n + 1) for _ in range(m + 1)]
      
      for i in range(m + 1):
          for j in range(n + 1):
              if i == 0:
                  dp[i][j] = j
              elif j == 0:
                  dp[i][j] = i
              elif str1[i-1] == str2[j-1]:
                  dp[i][j] = dp[i-1][j-1]
              else:
                  dp[i][j] = 1 + min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1])
      
      return dp[m][n]