2016-10-03 2 views
-2

Okay, so habe ich diese Funktion, die ich erstellen müssen den Umgang helfen, und ich denke, dass die Code-Checker irgendwie fehlerhaft ist, und ich versuchte, es zu verwalten, aber mein Code scheint nochBenötigen mit dem Kontrolleur hier

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) 

zum Scheitern verurteilt Die Frage besagt, dass Sie L mutieren müssen. Ihr Code muss funktionieren, wenn Sie dies tun: 0 = 0, 1, 2, 1, 2, 3, 3, 2, 1, -10, 100]] reversecomp (L) Druck (L)

Test: run_code ([[0, 1, 2], [1, 2, 3]])

Ihr Ausgang:

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

korrekte Ausgabe:

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

Keine

Antwort

0

Die Spezifikation sagt "Es gibt nichts zurück"; Ihr Programm tut es.

+0

Die richtige Ausgabe soll sein, was es bereits als Ausgabe gibt und dann eine Zeile, wo es nichts zurückgibt. Seltsam. – Xangr8

0

L is a list of lists of ints

Okay, warum die Überprüfung Sie type(L) == int wenn type(L) == list immer wahr ist, gemäß der Spezifikation?

Mutates L

Du mutiert nicht L überhaupt; Du gibst eine neue Liste zurück. Mutieren L bedeutet etwas wie L[...] = xxx zu tun.

It does not return anything.

Sie sollten nicht das return Schlüsselwort alle werden unter Verwendung von in reversecomp.