2020-10-14 python 统计字符个数

#输入一行字符串,分别统计出其中英文字母、空格、数字和其他字符的个数

请使用循环结构完成

newstr=input("请输入一行字符串:")
zimu=0
kongge=0
shuzi=0
qita=0
times=0
while times<len(newstr):
    mychar=newstr[times] #定义字符串变量,用来提取newstr中每个字符
    times=times+1
    if mychar.isalpha():
        zimu=zimu+1
    elif mychar.isspace():
        kongge=kongge+1
    elif mychar.isdigit():
        shuzi=shuzi+1
    else:
        qita=qita+1
print("字母个数为:%d,空格个数为:%d,数字个数为:%d"%(zimu,kongge,shuzi))

提示
检查组成成分

isalpaha():检测字符串是否只由字母组成

str.isalpha()

isspace():检测字符串是否只由空格组成

str.isspace()

isdigit():检测字符串是否只由数字组成

str.isdigit()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 统计不同个数可以通过使用典来实现。具体步骤如下: 1. 定义一个空典,用于存储每个现的次数。 2. 遍历中的每个,如果该已经在典中现过,则将该对应的值加1;否则,在典中添加该,并将其对应的值初始化为1。 3. 最后,遍历典,统计不同个数。 示例代码如下: ```python s = "hello, world!" d = {} for c in s: if c in d: d[c] += 1 else: d[c] = 1 count = len(d) print("不同个数为:", count) ``` 输结果为: ``` 不同个数为: 10 ``` 其中,典d的内容为: ``` {'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1, '!': 1} ``` ### 回答2: 在程序设计中,有时需要统计一个中不同个数Python中的是不可改变的序列,可以通过遍历的每个,利用集合的特性来统计不同个数。以下是一个简单的例子: ```python s = 'abcaabc' count = len(set(s)) print(count) ``` 解释:首先定义一个`'abcaabc'`,然后通过`set`函数将中的去重,得到一个只包含不同的集合,最后利用`len`函数统计集合中元素的个数,即不同个数。运行结果为`3`,即`'abcaabc'`中不同个数。 另外,如果想要统计字符中每个现的次数,可以使用Python内置的`collections`模块中的`Counter`函数,代码如下: ```python from collections import Counter s = 'abcaabc' count = Counter(s) print(count) ``` 解释:首先导入`collections`模块中的`Counter`函数,然后定义`'abcaabc'`,接着调用`Counter`函数统计字符中每个现的次数,最后将结果打印来。运行结果为`Counter({'a': 3, 'b': 2, 'c': 2})`,即`'abcaabc'`中每个现的次数分别为`a:3`、`b:2`、`c:2`。 总之,Python统计字符中不同个数可以使用`set`函数,统计每个现次数可以使用`collections`模块中的`Counter`函数,这些函数都可以帮助我们更方便地对进行处理和分析。 ### 回答3: 在计算机编程或数据处理中,经常需要统计字符中不同个数Python中有多种方法可以实现这个目标,下面将对其中几种方法进行介绍。 方法一:利用集合(set)的特性 集合是Python中的一种数据类型,它的特点是不允许有重复元素,所以我们可以将中的逐一添加到集合中,并统计集合的长度即可。具体代码如下: ``` string = "hello world" char_set = set(string) count = len(char_set) print(count) ``` 输结果为9,说明"hello world"中共有9种不同的。 方法二:利用典(dictionary)的特性 典是Python中的另一种数据类型,它类似于一个关联数组,可以存储一对“键-值”映射关系。我们可以将中的作为“键”,将现的次数作为“值”,逐一添加到典中,最后输典中“键”的数量即可。具体代码如下: ``` string = "hello world" char_dict = {} for char in string: if char in char_dict: char_dict[char] += 1 else: char_dict[char] = 1 count = len(char_dict) print(count) ``` 输结果同样为9。 方法三:利用collections模块中的Counter类 Python的collections模块中有一个Counter类,可以用来统计字符中每个现的次数。具体做法是先将转换成列表,然后将列表传入Counter类的构造函数中即可,最后输Counter类中元素的数量即可。具体代码如下: ``` from collections import Counter string = "hello world" char_list = list(string) char_counter = Counter(char_list) count = len(char_counter) print(count) ``` 输结果同样为9。 总之,以上这几种方法都可以用来统计字符中不同个数,具体的选择取决于具体的需求和使用场景。其中,方法一使用起来比较简单,但可能会占用较多的内存;方法二使用起来稍微麻烦一些,但可以方便地统计每个现的次数;方法三则可以很方便地使用collections模块中的其它功能,如most_common()方法来查找现次数最多的等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值