|  | 
 
| 
题目是:编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数。
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  我的代码如下:
 
 复制代码def count(*strs):
    english = 'abcdefghijklmnopqrstuvwxyz'
    number = '0123456789'
    others = '.'
    length = len(strs)
    
    for i in range(length):
        x = 0
        y = 0
        z = 0
        if strs[i] in english:
            x += 1
           
        elif strs[i] in number:
            y += 1
        elif strs[i] in others:
            z += 1
        a = length - x -y-z
    print('第%d个字符串共有:英文字母 %d 个,数字 %d个,空格 %d 个,其他字符 %d个 ' % (i+1,x,y,a,z))
count('love123')
 
 我的代码运行之后,为什么显示英文字母,数字和其他字符都是0呢,空格却显示为1个
 麻烦路过的大佬若有时间帮帮我呗
     
 本帖最后由 lhgzbxhz 于 2020-7-10 08:53 编辑 
你传入的是一堆字符串,所以 应该是一个str型的变量,怎么还用in呢? 
应该这样:
 复制代码def count(*strs):
    english = 'abcdefghijklmnopqrstuvwxyz'
    number = '0123456789'
    others = ' '
    for n, s in enumerate(strs):
        length = len(s)
        x = 0
        y = 0
        z = 0
        a = 0
        for i in range(length):
            if s[i] in english:
                x += 1
            elif s[i] in number:
                y += 1
            elif s[i] in others:
                z += 1
            a = length - x - y - z
        print('第%d个字符串共有:英文字母 %d 个,数字 %d个,空格 %d 个,其他字符 %d个 ' % (n + 1, x, y, a, z))
 | 
 |