def solution(numbers):
# 判断一组数字之和是否为偶数
def is_even_sum(digits):
return sum(digits)%2==0
def cout(index,cur_digits):
#递归函数,计算所有可能组合
if index==len(numbers):
if is_even_sum(cur_digits):
return 1
return 0
count=0
for dit in str(numbers[index]):
count+=cout(index+1,cur_digits+[int(dit)])
return count
return cout(0,[])
if __name__ == "__main__":
# You can add more test cases here
print(solution([123, 456, 789]) == 14)
print(solution([123456789]) == 4)
print(solution([14329, 7568]) == 10)