Есть код:
def equal(A,B): if len(A)==len(B): for i in range(len(A)): if A[i]!=B[i]: return False return True def search_substring(s,sub): C = [0] * len(s) for i in range(0,len(s)-len(sub)): if equal(s[i:i+len(sub)],sub): print(i) C[i]+=1 print(C) return C def test(C,search_substring): s="asdasdafasdasdaf" sub="sda" C_sample=[0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0] search_substring(s,sub) print("Ok" if C==C_sample else "Fail") C=[] test(C,search_substring)
search_substring() возвращает значение None. Я понимаю, что С в search_substring() является локальной и после ее выполнения сборщик мусора терет С и в глобале С_сампле сравнивается с С пустым, из-за этого тест и не проходит. Как добиться рабочей проверки? Спасибо.