def m2(a):
return int(''.join([str(int(x)%2) for x in str(a)]), 2)
lst = [x for x in range(10, 100) if m2(x+23)==m2(x)+m2(23)]
for 十位 in [0, 1]:
for 个位 in [0, 1]:
xs = [x for x in lst if x%2 == 个位 and (x//10) % 2 == 十位]
print('十位', {0:'偶', 1:'奇'}[十位], '个位', {0:'偶', 1:'奇'}[个位], '共', len(xs))
print(xs)
print()
得到
十位 偶 个位 偶 共 12
[20, 22, 24, 26, 40, 42, 44, 46, 60, 62, 64, 66]
十位 偶 个位 奇 共 6
[27, 29, 47, 49, 67, 69]
十位 奇 个位 偶 共 16
[10, 12, 14, 16, 30, 32, 34, 36, 50, 52, 54, 56, 70, 72, 74, 76]
十位 奇 个位 奇 共 4
[77, 79, 97, 99]