zoukankan      html  css  js  c++  java
  • 统计字符串中指定类型字符的个数

     

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

    描述

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

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

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

    输入格式

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

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

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

    运行结果:

  • 相关阅读:
    Python入门day41——进程线程高阶
    使用React全家桶搭建一个后台管理系统
    基于 React 开发了一个 Markdown 文档站点生成工具
    The Annual Summary Of 2019
    INHERITED AND NON-INHERITED IN CSS
    组件设计 —— 重新认识受控与非受控组件
    React 现代化测试
    如何使页面交互更流畅
    React Hooks 深入系列
    你不知道的 requestIdleCallback
  • 原文地址:https://www.cnblogs.com/DrcProgrammingCool/p/11625586.html
Copyright © 2011-2022 走看看