def evaluate_sled_rental_rule(rule, input):
    """
    Evaluates each rule (as interpreted in part 1) against the input

    >>> evaluate_sled_rental_rule(dict(start=1, end=3, char='a'), 'abcde')
    True
    >>> evaluate_sled_rental_rule(dict(start=1, end=3, char='b'), 'cdefg')
    False
    >>> evaluate_sled_rental_rule(dict(start=2, end=9, char='c'), 'ccccccccc')
    True

    :param rule: an object describing the rule
    :param input: the input to check against
    :return:
    """

    count = input.count(rule['char'])
    return rule['start'] <= count <= rule['end']