Python练习实例17 | 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数?

输入一行字符,如何判断里面所包含的数字、空格、字符串及其他的个数呢?

这个时候,需要我们用到string这个包里面的is判断函数,配合着for循环或者while循环就可以实现这个功能了。

具体的代码如下图所示:

import string
s = input("请输入一个字符:") # 将字符赋值给s
letters = 0 # 初始化字符中的英文字母的数量
space = 0 # 初始化字符中的空格的数量
digit = 0 # 初始化字符中的数字的数量
others = 0 # 初始化字符中的其他的数量
for c in s: # 创建for循环
    if c.isalpha(): # 使用string中的is函数进行判断,如果里面有,就在letters值为零的基础上加1
        letters += 1
    elif c.isspace():
        space += 1
    elif c.isdigit():
        digit += 1
    else:
        others += 1
print('char =%d,space = %d,digit = %d,others = %d'%(letters,space,digit,others) ) 打印出来结果。

上面,我们使用的是比较简单的for循环实现的这一个功能。

当然了,我们同样也是可以使用while循环来实现这一个功能,代码如下:

import string
s = input("请输入一个字符:") # 输入一个字符
letters = 0 # while循环初始化
space = 0
digit = 0
others = 0
i = 0 # 初始化一个值
while i < len(s): # 使用while循环,遍历列表和元组,因为列表和元组是有索引的。
    c = s[i]
    i = i + 1 # 为了能够控制循环结束
    if c.isalpha():
        letters += 1
    elif c.isspace():
        space += 1
    elif c.isdigit():
        digit += 1
    else:
        others += 1

print('letters=%d,space=%d,digit=%d,others=%d'%(letters,space,digit,others))

从上面代码的行数,可以看到,这个函数,使用for循环相对来时还是更容易来实现一些的。

2020年2月20日
北京市通州区京贸中心

你可能感兴趣的:(Python练习实例17 | 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数?)