Python统计字母、中文、数字、空格等字符数
# 统计一行字符的不同字符个数
str = input("请输入一行字符:")
count1 = count2 = count3 = 0
for s in str:
if "a" <= s <= "z" or "A" <= s <= "Z":
count1 += 1 # 英文计数
elif 0x4e00 <= ord(s) <= 0x9fa5: # 中文的Unicode编码范围
count2 += 1 # 中文计数
elif 48 <= ord(s) and ord(s) <= 57:
count3 += 1 # 数字计数
print("该行字符有空格{0}个".format(str.count(" "))) # 统计空格
print("该行字符有英文字符{0}个".format(count1)) # 计数统计,统计英文字符
print("该行字符有中文字符{0}个".format(count2)) # 计数统计,统计中文字符
print("该行字符有数字{0}个".format(count3)) # 计数统计,统计数字字符
print("该行字符有其他字符{0}个".format(len(str)-count1-count2-count3-str.count(" "))) # 统计其他字符
运行结果:
请输入一行字符:中国特色社会主义进入了新时代,,,rhgi!@#$ eugi jvub us123456
该行字符有空格4个
该行字符有英文字符14个
该行字符有中文字符14个
该行字符有数字6个
该行字符有其他字符7个
总结
1.中文的Unicode编码范围0x4e00—0x9fa5
2.ord(x)函数,返回单字符x表示的Unicode编码
3.str.count(x),返回x子串出现的次数