统计字符串中指定类型字符的个数
统计字符串中指定类型字符的个数
描述
假设所有字符分为三类:字母,数字及其他字符。
编写一个函数,判断指定字符的类型,并统计字符串中该类型字符的个数。
主程序输入一个字符串及一个字符,调用上述函数统计该字符同类型字符在该字符串中的个数。
输入格式
第一行输入一个字符串,第二行输入一个字符,不要任何提示信息。
输出格式
输出指定字符类型的个数,如依次输入a8kw#2和-,输出为“与-同类型的字符有1个。”
解题代码:
def function(s, ch): a=b=c=0 for i in s: if ord('a')<=ord(i)<=ord('z') or ord('A')<=ord(i)<=ord('Z'): a=a+1 elif ord('0')<=ord(i)<=ord('9'): b=b+1 else: c=c+1 if ord('a')<=ord(ch)<=ord('z') or ord('A')<=ord(ch)<=ord('Z'): return a elif ord('0')<=ord(ch)<=ord('9'): return b else: return c #--------在以下空行处编写function函数代码----------------# #以下为主程序 s=input() ch=input() print("与%c同类型的字符有%d个。"%(ch,function(s,ch)))
分析:本题主要的问题是如何识别输入的字符是何种类型的,是字母,数字还是其他字符类型。众所周知,每一个字符都有对应的阿斯克码值Ascii,且相同类型的字符的Ascii相邻
,因此,我们可以通过这个方法来识别。
这里我们得用到ord()函数。ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
通过for循环可以依次遍历字符串的每一个字符,并且分辨字符类型和计数,再通过if条件判断语句,判断要查询的字符类型并返回该类型的个数。
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步