Нужна помощь в работе с проверкой здесь

#python-3.x

#python-3.x

Вопрос:

Хорошо, итак, у меня есть эта функция, которую мне нужно создать, и я думаю, что средство проверки кода каким-то образом испорчено, и я попытался управлять им, но мой код по-прежнему терпит неудачу

 def reversecomp(L):
    """ assumes L is a list of lists whose elements are ints
   Mutates L such that it reverses its elements and also
   reverses the order of the int elements in every element of L.
   It does not return anything.
   """
    if L == []:
        return L
    elif type(L) == int:
        return L
    else:
        return reversecomp(L[1:])   [reversecomp(L[0])]

def run_code(L):
    return reversecomp(L)
    print(L)
  

В вопросе говорится, что вам нужно мутировать L. Ваш код должен работать, когда вы делаете это:
L = [[0, 1, 2], [1, 2, 3], [3, 2, 1], [10, -10, 100]]
reversecomp(L)
print(L)

Тест: run_code([[0, 1, 2], [1, 2, 3]])

Ваш вывод:

[[3, 2, 1], [2, 1, 0]]

Правильный вывод:

[[3, 2, 1], [2, 1, 0]]

Нет

Ответ №1:

В спецификации указано, что «Он ничего не возвращает»; ваша программа возвращает.

Комментарии:

1. Предполагается, что правильный вывод — это то, что он уже выдает в качестве вывода, а затем строка, в которой он ничего не возвращает. Странно.

Ответ №2:

L is a list of lists of ints

Хорошо, так почему вы проверяете type(L) == int , когда type(L) == list всегда верно, согласно спецификации?

Mutates L

Вы вообще не мутируете L ; вы возвращаете новый список. Мутировать L означает делать что-то вроде L[...] = xxx .

It does not return anything.

Вы вообще не должны использовать return ключевое reversecomp слово.