一,用正则模块下的findall
import re
n = 1545455527796
print(len(re.findall(r'[02468]', str(n))))
print(len(re.findall(r'[13579]', str(n))))
利用re.findall 查找奇数或偶数生成列表,然后再len一下列表的长度即得到奇数或偶数的个数
说明:
**print(re.findall(r’[02468]', str(n)))**返回:[‘4’, ‘4’, ‘2’, ‘6’],该列表里包含了数字中的全部偶数
print(len(re.findall(r’02468]', str(n))))则返回:4,就是我们要统计的偶数的个数
这个方法以简洁直观的代码统计数字中偶数或奇数的个数,感觉有用的朋友赶紧试试吧!
二,用列表推导式,也是非常有效的方法
n = 1545455527796
print(len([i for i in str(n) if int(i) % 2 == 0]))
简单说明一下:
首先将数字值的偶数通过列表生成式,生成列表,然后统计列表长度即可
三,自定义函数法
def even_odd_count(n):
even = 0
odd = 0
for i in str(n):
if int(i) % 2 == 0:
even += 1
else:
odd += 1
print('{} 中含有偶数个数:{},奇数个数:{}'.format(n, even, odd))
even_odd_count(121145448)
返回:121145448 中含有偶数个数:5,奇数个数:4