Форум сайта python.su
0
Доброго времени суток.
Есть код:
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)
Отредактировано RatiborMur (Сен. 5, 2018 17:39:54)
Офлайн
72
RatiborMurПочему None? Смотрите:
search_substring() возвращает значение None.
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] result=search_substring(s,sub) print('result = {}'.format(result)) print("Ok" if result==C_sample else "Fail")
Офлайн
0
Спасибо! Понял свою ошибку… функция возвращает значение, но я на него не создаю ссылку, по-тому и терется итог.
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] C=search_substring(s,sub) print("Ok" if C==C_sample else "Fail")
Отредактировано RatiborMur (Сен. 5, 2018 19:31:18)
Офлайн