首先,我们会讲解三种方法统计输入的字符串中的字母和数字的个数,我们一起来看看呀。每种方法都有对应的代码和运行结果详解。
2.步骤1.调用Python中判断空格和数字的集成方法,如下方法详解。
①Pythonisdigit():检测字符串是否只由数字组成,只对0和正数有效。如果字符串只包含数字则返回True否则返回False。
②isalpha():检查一个字符串中所有的字符是否都是由字母构成的,并且至少有1个字符。如果,字符串中所有的字符都是字母,则返回True,否则返回False.
具体思路如下所示,使用for循环并调用这两个函数分别判断数字和字母,如果是数字,那么number加1,如果是字母,那么chars加1。如果是其他字符,那么就可以直接跳过。
str_test=input()number,chars=0,0#分别统计数字、字母个数#使用循环进行判断foriinstr_test:ifi.isdigit():number=number+1elifi.isalpha():chars=chars+1else:continueprint(number,":",chars)
具体运行结果分析如下所示。
2.当然我们可以进行扩展,当扫描到其他字符时候,定义变量others用来存放其他字符的数量。如下所示,将代码“continue”具体更改如下所示。
others=0others=others+1
完整代码如下所示,欢迎查看。
str_test=input()number,chars,others=0,0,0#分别统计数字、字母个数#使用循环进行判断print(str_test)foriinstr_test:ifi.isdigit():number=number+1elifi.isalpha():chars=chars+1else:others=others+1print("数字的个数为:",number,"字母的个数为:",chars,"其他字符的个数为:",others)
具体运行结果分析如下所示。
3.同时继续拓展一个可以统计字符串中各个字母对应的出现的个数。具体思路为:创建识别字母的函数,其中的result_dict字典用来记录字母出现的次数。
第一次出现该键时,创建字典键,将其值设为1,字典中再次出现该键时,也就是再次出现该字母时,让其值加1。所以最后得到结果,调用该函数,将结果打印,在结果中体现了各个字母出现的次数。
defcalc_each_char(str):result_dict={}foriinstr:#第一次出现该键时,创建字典键,将其值设为1ifinotinresult_dict:result_dict[i]=1#字典中再次出现该键时,让其值加1else:result_dict[i]+=1returnresult_dict#调用该函数,将结果打印,在结果中体现了各个字母出现的次数。result=calc_each_char("djkfjssjkkd")
代码如上所示,具体运行结果如下所示。