统计字符串中指定类型字符的个数

 

 统计字符串中指定类型字符的个数

描述

假设所有字符分为三类:字母,数字及其他字符。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

编写一个函数,判断指定字符的类型,并统计字符串中该类型字符的个数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

主程序输入一个字符串及一个字符,调用上述函数统计该字符同类型字符在该字符串中的个数。

输入格式

第一行输入一个字符串,第二行输入一个字符,不要任何提示信息。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输出格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

      输出指定字符类型的个数,如依次输入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条件判断语句,判断要查询的字符类型并返回该类型的个数。

运行结果:

猜你喜欢

转载自www.cnblogs.com/DrcProgrammingCool/p/11625586.html
今日推荐