|
|
发表于 2016-9-24 09:33:11
|
显示全部楼层
本帖最后由 无符号整形 于 2016-9-24 10:37 编辑
另外,这里有个类型问题
- print('第' +each1+'个字符串共有:'+'英文字母'+count1+'个,',end='')
复制代码
至于错在哪,自己想想,刮开即可看答案。
字符串的拼接必须是字符串+字符串,而相加的对象是int类型的,所以应该使用str将整型转化为字符串类型,那么代码就是这样:
def count(*params):
zimu = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
shuzi ='0123456789'
kongge = ' '
length1 = len(params)
for each1 in range(length1):
length = len(params[each1])
for each2 in range(length):
if params[each1][each2] in zimu:
count1 = 0
count1 += 1
print('第' +str(each1)+'个字符串共有:'+'英文字母'+str(count1)+'个,',end='')
elif params[each1][each2] in shuzi:
count2 = 0
count2 += 1
print('数字'+str(count2)+'个,',end='')
elif params[each1][each2] in kongge:
count3 =0
count3 += 1
print('空格'+str(count3)+'个,',end='')
else:
count4 = 0
count4 += 1
print('其他字符'+str(count4)+'个。')
但是代码有个漏洞,请你自己修复:
请输入字符串参数:Fishc213123 2rji2ji3ri&8382
第0个字符串共有:英文字母1个,第1个字符串共有:英文字母1个,第2个字符串共有:英文字母1个,第3个字符串共有:英文字母1个,第4个字符串共有:英文字母1个,数字1个,数字1个,数字1个,数字1个,数字1个,数字1个,空格1个,数字1个,第13个字符串共有:英文字母1个,第14个字符串共有:英文字母1个,第15个字符串共有:英文字母1个,数字1个,第17个字符串共有:英文字母1个,第18个字符串共有:英文字母1个,数字1个,第20个字符串共有:英文字母1个,第21个字符串共有:英文字母1个,其他字符1个。
数字1个,数字1个,数字1个,数字1个,
|
|