Форум сайта python.su
функция не проходит тесты, не могу понять - почему
функция
array_search()
def array_search(A:list, x:int): ''' Функция принимает 2 аргумента A – список Х – искомый индекс возвращает индекс X ''' for i in range(len(A)): if A[i] == x: return A.index(x) return 'None' def test_array_search(): #первый тест - успешный результат A1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] M = array_search(A1, 999) if M == "None": print('++++++++++++PASSED') else: print('------------FAIL') #тест 2 - провал A2 = [-1,-2,-2,-3,-4,-5] M = array_search(A2, -5) if M == 2: print('++++++++PASSED') else: print('------------FAIL') #тест 3 - провал A3 = [10,20,30,40,50,60] M = array_search(A3, 40) if M == -1: print('+++++++PASSED') else: print('------------FAIL') test_array_search()
Офлайн
разобрался
Офлайн
delitetво-первых if'ы были прописаны неправильно
разобрался
def array_search(A:list, x:int): ''' Функция принимает 2 аргумента A – список Х – искомый индекс возвращает индекс X ''' for i in range(len(A)): if A[i] == x: return print(int(A.index(x))) return 'что-то не так' def test_array_search(): A1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] M = array_search(A1, 999) if M == "None": print('++++++++++++PASSED') else: print('------------FAIL') A2 = [-1,-2,-2,-3,-4,-5] M = array_search(A2, -5) if int(M) == 5: print('++++++++PASSED') else: print('------------FAIL') A3 = [10,20,30,40,50,60] M = array_search(A3, 40) if M == 3: print('+++++++PASSED') else: print('------------FAIL') test_array_search()
Отредактировано delitet (Апрель 19, 2022 14:20:07)
Офлайн
delitetДа не, у тебя функция неправильно написана сама. Надо тебе сначала прочитать какой-нибудь туториал по питону. Потом пописать после этого туториала, а уже потом читать книжку по питону. Потом писать после этой книжки. И потом уже изучать документацию к питону и после неё писать ещё больше.
во-первых if'ы были прописаны неправильно
во-вторых функция array_search при if == true возвращала тип данных None
надо было None изменить на int
Отредактировано py.user.next (Апрель 19, 2022 22:20:53)
Офлайн
py.user.nextне, я прохожу курс https://www.youtube.com/watch?v=KdZ4HF1SrFs
Офлайн