题目
统计字符串列表中每个字母出现的次数。
编写程序,使用eval()函数读入一个仅包含字符串对象的列表,然后统计该列表中每个字母出现的次数。
列表中的字符串对象仅包含小写英文字母。
输入格式:
一个仅包括字符串对象的列表,且全部字符串对象中仅出现小写英文字母。
输出格式:
字母,次数
...
字母,次数
(注意按a-z的顺序输出)
输入样例:
["aaab", "cccdz"]
输出样例:
a,3
b,1
c,3
d,1
z,1
解题
题目代码:
a = eval(input())
x = ''
for i in range(len(a)):
x = x + a[i]
for n in range(97,123):
num = x.count(chr(n))
if num != 0:
print("%c,%d"%(chr(n),num))
代码解释:
利用字符串相加也为字符串的性质进行解题
用for循环遍历输入的列表并与前面定义的x空字符串相加转化成一个长字符串
然后再for循环遍历range(97,123)注:如果不理解可以看成range(ord(a),ord(z)+1)
用count()计数方法对字符串中的各元素出现次数进行统计
最后判断num不为零就输出当前元素及出现次数
代码内相关内容解释:
count()方法
该题中是在字符串里面找出实参出现的次数
chr()和ord()
互为反函数,chr()函数是根据实参数值找字符,ord()函数是根据实参找数值
总结
该题主要是对count方法,ord函数,chr函数的考查,总体来说难度适中
因为该题是要求从a-z如果是A-Z或者是z-a改变一下range的实参范围即可