code: def turb_ice(turbice: [str], unit: str = 'ft') -> str:  # type: ignore
      
      if not turbice:
          return ''
      # Determine turbulance or icing
      if turbice[0][0] == '5':
          conditions = TURBULANCE_CONDITIONS
      elif turbice[0][0] == '6':
          conditions = ICING_CONDITIONS
      else:
          return ''
      # Create list of split items (type, floor, height)
      split = []
      for item in turbice:
          if len(item) == 6:
              split.append([item[1:2], item[2:5], item[5]])
      # Combine items that cover a layer greater than 9000ft
      for i in reversed(range(len(split) - 1)):
          if split[i][2] == '9' and split[i][0] == split[i + 1][0] \
                  and int(split[i + 1][1]) == (int(split[i][1]) + int(split[i][2]) * 10):
              split[i][2] = str(int(split[i][2]) + int(split[i + 1][2]))
              split.pop(i + 1)
      # Return joined, formatted string from split items
      return ', '.join(['{conditions} from {low_alt}{unit} to {high_alt}{unit}'.format(
          conditions=conditions[item[0]], low_alt=int(item[1]) * 100,
          high_alt=int(item[1]) * 100 + int(item[2]) * 1000, unit=unit) for item in split])
docs: Translate the list of turbulance or icing into a readable sentence
  
      Ex: Occasional moderate turbulence in clouds from 3000ft to 14000ft