<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_flag_groups(h5group, strict=True):
 """Returns all HDF5 Groups under the given group that contain a flag The check is just that the sub-group has a ``'name'`` attribute, so its not fool-proof by any means. Parameters h5group : `h5py.Group` the parent group in which to search strict : `bool`, optional, default: `True` if `True` raise an exception for any sub-group that doesn't have a name, otherwise just return all of those that do Raises ------ KeyError if a sub-group doesn't have a ``'name'`` attribtue and ``strict=True`` """

    names = []
    for group in h5group:
        try:
            names.append(h5group[group].attrs['name'])
        except KeyError:
            if strict:
                raise
            continue
    return names