2016-11-30 20 views
0

Ich versuche, den zurückgegebenen Wert der parityOf Funktion in der appendParity Funktion anzufügen. Ich weiß, dass es nicht return sein würde, wie ich in meinem Code habe, aber ich bin mir nicht sicher, wie man den zurückgegebenen Wert richtig anhängt. Unten ist mein Code.Wie füge ich einen zurückgegebenen Wert hinzu

def parityOf(list_bits, parity): 
    y = parity 
    x = list_bits.count(1) 

    if (x % 2 == 0 and y % 2 == 0) or (x % 2 != 0 and y % 2 != 0): 
     return 0 
    else: 
     return 1 

def appendParity(list_bits, parity): 
    return list_bits.append(parityOf(return)) 

Antwort

1

Ich bin mir nicht sicher, ob ich die Frage richtig verstanden habe, aber ich glaube an appendParity Sie wollen zuerst das Paritätsbit berechnen und sie dann an die Liste anhängen. Um das Paritätsbit zu berechnen (unter Verwendung von parityOf), müssen Sie parityOf(list_bits, parity) aufrufen, nicht parityOf(return), was eine ungültige Syntax ist. Um es zusammen, dann würden Sie

def appendParity(list_bits, parity): 
    return list_bits.append(parityOf(list_bits, parity)) 

Beachten Sie, dass die append Methode auf Listen erhalten hat die Wirkung der Wert auf eine Liste angehängt und kehrtNone (kein sinnvoller Wert), so die Rückrechnung Diese Funktion ist unnötig und möglicherweise verwirrend (Sie könnten denken, dass sie die Liste zurückgibt, tut es aber nicht). Vielleicht tun

def appendParity(list_bits, parity): 
    list_bits.append(parityOf(list_bits, parity)) 
+0

Dank, das funktioniert! – Brooke

0
>>> def aNum(): 
...  return 10 
... 
>>> foo = [1,2,3,4,5,6,7,8,9] 
>>> foo.append(aNum()) 
>>> foo 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
>>> 
0

waren Sie fast richtig. Aber Sie müssen die Rückkehr von "appendParity" Methode von return list_bits.append(parityOf(return)) zu return list_bits.append(parityOf(list_bits,parity)) ändern.

Hinweis, dass "parityOf" Methode erhält 2 Parameter

Verwandte Themen