input: Write a python function to generate all possible substrings of a given string.
  assert generate_combinations('abc') == ['a', 'ab', 'abc', 'b', 'bc', 'c']
  assert generate_combinations('123') == ['1', '12', '123', '2', '23', '3']
  assert generate_combinations('a') == ['a']
output: def generate_combinations(s):
      substrings = []
      for i in range(len(s)):
          for j in range(i + 1, len(s) + 1):
              substrings.append(s[i:j])
      return substrings