Python实现字符串多维度统计

pp电子品牌介绍
你的位置:pp电子品牌介绍 > 新闻动态 > Python实现字符串多维度统计
Python实现字符串多维度统计
发布日期:2025-03-06 21:08    点击次数:78

Python实现字符串多维度统计

任务要求

输入一行字符,输出以下五类统计结果:大写英文字母、小写英文字母、空格、数字、其他字符(如标点符号)。

任务分析

核心逻辑

1.字符遍历:逐个检查字符串中的每个字符。

2.类型判断:

内置方法:如isupper()、islower()、isdigit()、isspace()。ASCII码范围:通过ord()函数将字符转为ASCII码,判断其所属区间。正则表达式:利用re.findall()匹配特定模式。

3.计数统计:根据判断结果累加计数器。

任务实现

方法一:基础循环法(内置函数)

def count_chars(text): upper = lower = digit = space = other = 0 for char in text: if char.isupper(): upper += 1 elif char.islower(): lower += 1 elif char.isdigit(): digit += 1 elif char.isspace(): space += 1 else: other += 1 return upper, lower, digit, space, othertext = input("请输入字符串:")u, l, d, s, o = count_chars(text)print(f"大写字母:{u}\n小写字母:{l}\n数字:{d}\n空格:{s}\n其他字符:{o}")

说明:

优势:逻辑直观,适合初学者;直接使用内置函数,代码简洁。关键点:通过isupper()等方法判断字符类型,逐字符遍历时间复杂度为。

方法二:正则表达式法

import redef count_by_regex(text): upper = len(re.findall(r'[A-Z]', text)) lower = len(re.findall(r'[a-z]', text)) digit = len(re.findall(r'\d', text)) space = len(re.findall(r'\s', text)) other = len(text) (upper + lower + digit + space) return upper, lower, digit, space, othertext = input("请输入字符串:")u, l, d, s, o = count_by_regex(text)print(f"大写字母:{u}\n小写字母:{l}\n数字:{d}\n空格:{s}\n其他字符:{o}")

说明:

优势:代码更紧凑,适合处理复杂匹配规则;re.findall()一次性提取所有匹配项。关键点:\d匹配数字,\s匹配空格,[A-Za-z]区分大小写字母。

方法三:字典映射法

def count_with_dict(text): counter = {'upper': 0, 'lower': 0, 'digit': 0, 'space': 0, 'other': 0} for char in text: if char.isupper(): counter['upper'] += 1 elif char.islower(): counter['lower'] += 1 elif char.isdigit(): counter['digit'] += 1 elif char.isspace(): counter['space'] += 1 else: counter['other'] += 1 return countertext = input("请输入字符串:")counter = count_with_dict(text)print(f"大写字母:{counter['upper']}\n小写字母:{counter['lower']}\n数字:{counter['digit']}\n空格:{counter['space']}\n其他字符:{counter['other']}")

说明:

扩展性:可灵活添加更多统计类别(如标点符号),便于结果管理。适用场景:需要动态调整统计维度的任务。

运行结果

从键盘上输入字符串“faf&(8346FJH37696 8 $&&623jhdfKGG”。

请输入字符串:faf&(8346FJH37696 8 $&&623jhdfKGG

大写字母:6

小写字母:7

数字:13

空格:2

其他字符:5

进程已结束,退出代码为 0



上一篇:赏梅州美景 品客家美食!市民游客踊跃参与“集印章·获大礼”活动
下一篇:行走京津冀| “北京建能力、区域造生态”协同机制初步形成

Powered by pp电子品牌介绍 @2013-2022 RSS地图 HTML地图

Copyright Powered by365站群 © 2013-2024