def verify_line(line: str, no: int, conds: set):
    """
    Verify if the given line is compliant to the training data format.
    :param line: Line string.
    :param no: Line number.
    :param conds: Available weather condition strings.
    :return: Faulty line number, otherwise None.
    """
    if conds is None:
        return None
    # Test 1: has the correct amount of values? (5)
    split = line.split(",")
    if len(split) != 5:
        return no
    else:
        # Test 2: each value the right type?
        if split[0].lower() not in conds:  # Must be condition
            return no
        for i in range(1, len(split)):  # The rest of the values
            try:
                float(split[i])
            except ValueError:  # Must be numbers
                return no
    return None