|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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))
复制代码
|
|