|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
最近学到20讲,
在动动手遇到一个百思不得其解的问题
0. 请用已学过的知识编写程序,统计下边这个长字符串中各个字符出现的次数并找到小甲鱼给大家的话
于是
def jiancha (string1):
letter=0
space=0
digit=0
others=0
letterlist=[]
spacelist=[]
digitlist=[]
otherslist=[]
for each in string1:
if each.isalpha():
letter += 1
letterlist.extend(each)
elif each.isdigit():
digit += 1
digitlist.extend(each)
elif each == ' ':
space += 1
spacelist.extend(each)
else:
others +=1
otherslist.extend(each)
print('''这段文字含有:
英文字母 %d 个
数字 %d 个
空格 %d 个
其他字符 %d 个''' % (letter,digit,space,others))
print()
print('英文列表:')
print(letterlist)
print('数字列表:')
print(digitlist)
string1= input('请输入字符:\n')
jiancha(string1)
上面可以正常运行。。。。
但是问题在于如果我把def jiancha (string1): 改成 def jiancha (*string1): 虽然也会正常运行 但是结果都是错的
求大大解决一下
改为*string1,接收可变数量的参数,这时会把input得到的值作为元组的一个元素,再for each in string1:时不是遍历字符串中每个字符,而是以整个字符串作为遍历的一个值。
|
|