输入若干的字符串,每个字符串中只包含数字字符和大小写英文字母,统计字符串中有出现的不同字符的出现次数对于每组测试,按字符串中有出现的字符的ASCII码升序逐行输出不同的字符及其个数(两个数据之间留一个空格),每两组测试数据之间留一空行,输出格式参照输出样例
时间: 2024-03-06 14:50:48 浏览: 92
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
同样是字符串统计的问题,只是输入的字符串有多个,可以使用一个循环来读取并处理每个字符串。具体步骤与上一个问题类似,如下:
1. 循环读入字符串,直到读入空字符串。
2. 对每个字符串,使用哈希表统计每个字符的出现次数。
3. 将哈希表转换为数组,并按照字符的 ASCII 码升序排序。
4. 输出数组中不为零的元素,并在每组测试数据之间留一个空行。
以下是样例代码,仅供参考:
```python
while True:
s = input().strip()
if not s:
break
# 统计每个字符出现的次数
count = {}
for c in s:
count[c] = count.get(c, 0) + 1
# 转换为数组并排序
arr = []
for k in count:
arr.append((ord(k), count[k]))
arr.sort()
# 输出结果
for k, v in arr:
print("{} {}".format(chr(k), v))
print()
```
注意,以上代码仅适用于 Python 3.x 版本,如果使用 Python 2.x 版本需要稍作修改。
阅读全文