|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 屁哥 于 2018-2-11 17:23 编辑
- def count(*param):
- length = len(param) # 计算 param 这个回收参数里面有多少个参数
- for i in range(length): #for 循环 length 等于几 i 就调用几次(for 就循环几次)
- letters = 0 # 字符串中英文字符初始化是 0 个
- space = 0 # 字符串中空字符个数初始化是 0 个
- digit = 0 # 字符串中数字的个数初始化是 0 个
- others = 0 # 字符串中其他字符的个数初始化是 0 个
-
- for each in param[i]: # for 的嵌套循环 从param 的第 0个参数开始计算 也就是 上面for 循环的第0个参数 == 第0个 i// each 从i 中逐个获取字符 让下面的 if(工人) 进行计算
- if each.isalpha(): # 如果 each是 英文字符 那么下面 letters +1 如果不是英文字符,下一个 elif(下一个工人) 计算
- letters += 1
- elif each.isdigit(): # 如果 each 是数字 那么 degit + 1 如果不是 下面 elif继续计算
- digit += 1
- elif each == ' ': # 如果 each 是空字符 那么 space + 1 ,如果不是 那么既不是 英文字母 也不是数字 更不是 空字符 那就都给 其他吧(others)
- space += 1
- else:
- others += 1 # 以上都不是 那么 其他 +1 others +1 /// 然后继续循环 知道 each 把 i 吸干了(没字符了),再返回第一个 for 继续 用i 吸干 lenth 里面的其他参数
- print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1, letters, digit, space, others))
-
- count('I love fishc.com.', 'I love you, you love me.') # 这个是输入再 count 函数中的的两个参数 中间用逗号隔开了
- #这里表示有不理解 这句 for i in range(length) 这个 length 他不是数字么 1(因为count 只有两个参数 0,1) 那么 for i in range(1) 为什么 i == 第一个参数 不是应该等于 int 整形么? 为什么是 str 字符串类型了呢?
复制代码
#这里表示有不理解 这句 for i in range(length) 这个 length 他不是数字么 1(因为count 只有两个参数 0,1) 那么 for i in range(1) 为什么 i == 第一个参数 不是应该等于 int 整形么? 为什么是 str 字符串类型了呢?
顺便帮忙指正一下 注释哪里有问题 谢谢
没看太懂,,
range里面放数字整形,那个i也是数字整形。
|
|