美文网首页经验App:聚合职场优选内容
Python练习实例17 | 输入一行字符,分别统计出其中英文字

Python练习实例17 | 输入一行字符,分别统计出其中英文字

作者: 暮光微晓破倾城 | 来源:发表于2020-02-20 22:43 被阅读0次

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

    这个时候,需要我们用到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 | 输入一行字符,分别统计出其中英文字

        本文链接:https://www.haomeiwen.com/subject/wjvfqhtx.html