输入一行字符,如何判断里面所包含的数字、空格、字符串及其他的个数呢?
这个时候,需要我们用到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日
北京市通州区京贸中心
网友评论