2016-11-30 7 views
0

appendParity関数のparityOf関数の戻り値を追加しようとしています。私は自分のコードで持っているようにreturnではないことに気づいていますが、返された値を正しく付加する方法がわかりません。以下は私のコードです。戻り値を追加する方法

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)) 

答えて

1

私は私が正しく質問を理解していないが、私はappendParityに、あなたが最初のパリティビットを計算して、リストに追加したいと考えています。パリティビット(parityOfを使用)を計算するには、無効な構文であるparityOf(return)ではなく、parityOf(list_bits, parity)を呼び出す必要があります。それを一緒に入れて、あなたは

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

リストのappend方法はリストと戻りNone(意味のない値)に値を追加する効果があることに注意してください、そうのreturn文を取得したいですこの関数は不要で、混乱させる可能性があります(リストを返すと思うかもしれませんが、そうではありません)。おそらく、あなたは、ほぼ正しかった

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

ありがとうございました! – 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

を行います。しかし、 「appendParity」メソッドからの戻り値をreturn list_bits.append(parityOf(return))から return list_bits.append(parityOf(list_bits,parity))に変更する必要があります。

"parityOf"メソッドは2つのパラメータを受け取ることに注意してください。

関連する問題