0
def count_even(obj):
"""
Return the number of even numbers in obj or sublists of obj
if obj is a list. Otherwise, if obj is a number, return 1
if it is an even number and 0 if it is an odd number.
@param int|list obj: object to count even numbers from
@rtype: int
>>> count_even(3)
0
>>> count_even(16)
1
>>> count_even([1, 2, [3, 4], 5])
2
"""
count = 0
if isinstance(obj, int):
if obj % 2 == 0:
return 1
else:
return 0
else:
for i in obj:
count += count_even(i)
return new
2番目の行「count + = count_even(i)」で「recursion」が[1,2]のネストされたリスト[3,4]にアクセスする方法がわかりません、[3,4]、5]。再帰はネストされたリストにどのようにアクセスしますか?
forループは各アイテム{i = 0(1)、i = 1(2)、i = 2([3,4])、i = 3(5)}を検索しませんintなので、[3,4]のif文はトリガされません。
は正しいコードの最後の行ですか? 'return new 'ではなく' return count'を期待しています( 'new'が定義されていないので例外が発生するはずです)。 – Blckknght