def verify(message, expected, actual): a = "=========================" print(a) print(message) if type(actual) != type(expected) or actual != expected: print("FAILED!") print(f"Expected value: {expected}") print(f"Actual value: {actual}") print(a) return False else: print("SUCCESS!") print(a) return True def verify_all(dataset): summa_success = int() summa_failed = int() for result in dataset: if verify(result[0], result[1], result[2]): summa_success += 1 else: summa_failed += 1 print("Total:", len(dataset), "Successful:", summa_success, "Failed:", summa_failed) return True def first_recurring_char(s): array = [] p = 1 t = 0 k = str if type(s) is str and s is not None: for i in s: if i.isalpha(): array.append(i) k = i t += 1 for j in array[0:t-1]: if k == j: p += 1 if p > 1: return k break else: return None dataset = [ # Проверочные тесты, что вообще что-то работает ("first_recurring_char0", None, first_recurring_char([1])), ("first_recurring_char1", ("п"), first_recurring_char("у попа была собака")), ("first_recurring_char2", None, first_recurring_char("япчм")), ("first_recurring_char3", None, first_recurring_char(-2)), ("first_recurring_char4", ("q"), first_recurring_char("qwertyuiopq")), # Тесты на пустые значения ("first_recurring_char5", None, first_recurring_char('')), ("first_recurring_char6", None, first_recurring_char(None)), # Тесты на неверный тип ("first_recurring_char7", None, first_recurring_char(True)), ("first_recurring_char8", None, first_recurring_char({1212})), # Тесты на редкие случаи ("first_recurring_char9", ("а"), first_recurring_char("у Попа была собака, он ее прибил")), ("first_recurring_char10", ("W"), first_recurring_char(("WWW"))), ("first_recurring_char11", ("Г"), first_recurring_char('гГваунзГг')), ] verify_all(dataset)