整数の2次元リストを取り、テーブルの各行の合計が偶数になる場合はTrueを返し、それ以外の場合はFalseを返す関数evenrow()を実装しようとしています(つまり、一部の行の合計が奇数の場合)
usage
>>> evenrow([[1, 3], [2, 4], [0, 6]])
True
>>> evenrow([[1, 3], [3, 4], [0, 5]])
False
これは私がこれまでに得たものです:
def evenrow(lst):
for i in range(len(lst)-1):
if sum(lst[i])%2==0: # here is the problem, it only iterates over the first item in the lst [1, 3] - i cant figure this out - range problem?
return True
else:
False
最初の項目だけでなく、リスト内のすべての項目 [1, 3]、[2, 4]、[0, 6] を反復処理するループを取得するにはどうすればよいですか?
さて、私は今ここまで来ました:
def evenrow(lst):
for i in range(len(lst)-1):
if sum(lst[i]) %2 >0:
return False
else:
return True
さまざまなリストを実行すると、次の答えが得られます。
>>> evenrow([[1, 3], [2, 4], [0, 6]])
True
>>> evenrow([[1, 3], [3, 4], [0, 5]])
False
>>> evenrow([[1, 3, 2], [3, 4, 7], [0, 6, 2]])
True
>>> evenrow([[1, 3, 2], [3, 4, 7], [0, 5, 2]])
True
(ただし、最後のものは正しくありません-Falseである必要があります)これが機能しない理由がわかりません...