02927: 判断数字个数
hash table, http://cs101.openjudge.cn/practice/02927/
判断一行字符串中的数字出现的个数。
输入
输入有多行,每行一个字符串,该字符串中可以包含&^$^#@*任何符号以及空格。
输出
有多行。输出该字符串中每个出现过的数字,然后在冒号“:”后面输出该数字出现的次数。按数字大小,从小到大的顺序输出。一行输出一个数字及其出现次数。没有出现过的数字不输出。
样例输入
ldksfj857ld*&%&^%00000
138****0055end样例输出
0:5
5:1
7:1
8:1
0:2
1:1
3:1
5:2
8:1来源:06级计算概论课
python
import sys
from collections import Counter
def count_digits_in_string(line):
# 统计字符串中的数字出现次数
digit_count = Counter(char for char in line if char.isdigit())
# 按数字大小排序
sorted_digit_count = sorted(digit_count.items(), key=lambda x: int(x[0]))
# 输出结果
for digit, count in sorted_digit_count:
print(f"{digit}:{count}")
def main():
# 读取所有输入行
input_lines = sys.stdin.read().strip().split('\n')
# 遍历每一行并处理
for line in input_lines:
count_digits_in_string(line)
if __name__ == "__main__":
main()