用Python输入只包含数字字符的字符串,统计串中不同字符的出现次数 输入格式: 测试数据有多组,处理到文件尾,对于每组测试,输入一个字符串。 输出格式: 对于每组测试,按照字符串中出现字符的ASCII码升序逐个输出不同的字符以及个数(两者之间留一个空格),每组输出之后空一行,输出格式参照输出样例 输入样例: 12123 输出样例: 1 2 2 2 3 1
时间: 2024-03-08 15:46:40 浏览: 81
好的,我可以帮你解决这个问题。以下是代码实现:
```python
while True:
try:
s = input()
count = [0] * 128 # 初始化一个长度为 128 的数组,用于记录每个字符出现的次数
for c in s:
count[ord(c)] += 1 # ord() 函数用于返回字符的 ASCII 码值
for i in range(128):
if count[i] != 0:
print(chr(i), count[i]) # chr() 函数用于返回 ASCII 码值对应的字符
print() # 输出一个空行
except:
break
```
这个程序会不断读入输入,直到文件末尾为止。对于每组测试数据,它会统计输入字符串中每个字符出现的次数,然后按照字符的 ASCII 码值升序逐个输出不同的字符以及个数,最后输出一个空行。
相关问题
输入只包含数字字符的字符串,统计串中不同字符的出现次数。 输入格式 测试数据有多组,处理到文件尾,对于每组测试,输入一个字符串 输出格式: 对于每组测试,按字符串中出现字符的ASCII码升序逐个输出不同的字符及其个数《两者之间留一个空格),每组输出之后空一行,输出格式参照输出样例
好的,我了解了你的问题。这是一个简单的字符串统计问题,我可以为你提供解决方案。以下是 Python 代码实现:
```python
import sys
for line in sys.stdin:
# 统计每个数字字符出现的次数
count = [0] * 10
for c in line.strip():
if c.isdigit():
count[int(c)] += 1
# 输出结果
for i in range(10):
if count[i] > 0:
print(str(i) + " " + str(count[i]))
print() # 输出空行
```
这段代码可以处理多组测试数据,每组测试数据输入一个字符串,输出不同数字字符及其个数,每组输出之后空一行。你可以将输入数据复制粘贴到命令行或者文件中进行测试。
输入若干的字符串,每个字符串中只包含数字字符和大小写英文字母,统计字符串中有出现的不同字符的出现次数。 输入格式: 测试数据有多组,处理到文件尾。每组测试输入一个字符串(不超过80个字符)。 输出格式: 对于每组测试,按字符串中有出现的字符的ASCII码升序逐行输出不同的字符及其个数(两个数据之间留一个空格),每两组测试数据之间留一空行,输出格式参照输出样例。 输入样例: 12123 A1c1B 输出样例: 1 2 2 2 3 1 1 2 A 1 B 1 c 1
好的,这是一个简单的字符串操作题目。下面是我的代码实现,可以参考一下:
```python
import sys
for line in sys.stdin:
# 用一个字典来记录每个字符出现的次数
count = {}
for c in line.strip():
if c not in count:
count[c] = 1
else:
count[c] += 1
# 按照 ASCII 码升序输出结果
for c in sorted(count.keys()):
print(ord(c), count[c])
print()
```
这个代码实现比较简单,就是对于每个输入的字符串,先用一个字典来记录每个字符出现的次数,然后按照 ASCII 码升序输出结果即可。注意每组测试之间需要输出一个空行。
同时需要注意的是,我们使用 `sys.stdin` 来读取输入,这是一个 Python 的标准库,可以从标准输入中读取数据。因为题目中说测试数据有多组,处理到文件尾,所以我们可以使用 `for line in sys.stdin:` 语句来不断读取输入,直到文件末尾为止。
阅读全文