编写一个程序,从键盘读取未指定个数的字符串,一行一个,以字符串"q"为输入结束标志("q"不列入统计范围)。使用字典找出其中出现次数最多的字符串,打印该字符串及其出现次数。 注意:本题的测试用例中将保证只有一个字符串出现次数最多。 输入格式: 字符串1 字符串2 ... 字符串n q 输出格式: 字符串 出现次数 输入样例: 在这里给出一组输入。例如: abc abc bcd xxx q 输出样例: 在这里给出相应的输出。例如: abc 2 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 栈限制 8192 KB Python (python2) 1
时间: 2025-03-22 20:15:43 浏览: 29
以下是解决此问题的一个Python代码示例,并附有详细解释:
```python
# 创建一个空字典用于存储每个字符串的出现次数
count_dict = {}
# 使用循环不断读取用户输入,直到遇到"q"
while True:
# 获取用户的输入
string = raw_input() # python2 中使用raw_input()
# 如果输入的是"q", 结束循环
if string == "q":
break
# 更新字典中的计数值
if string in count_dict:
count_dict[string] += 1
else:
count_dict[string] = 1
# 寻找出现次数最多的字符串及其次数
max_string = None
max_count = 0
for key, value in count_dict.items():
if value > max_count:
max_count = value
max_string = key
# 打印结果
print(max_string, max_count)
```
### 解释:
1. **创建字典**:我们首先初始化了一个`count_dict`字典,用来记录每一个字符串以及它们对应的出现次数。
2. **循环读取数据**:通过无限循环获取用户每次从键盘输入的内容。如果输入内容为“q”,则终止循环;否则将其作为键更新到`count_dict`中。
3. **查找最大值**:遍历整个字典寻找拥有最高频率的那个字符串项并保存它的名称与频次。
4. **输出结果**:最后按照题目要求格式打印出找到的结果。
#### 注意事项
- 这段代码适用于Python2环境,在实际应用时需要根据使用的Python版本调整函数名如将 `raw_input()` 替换为 `input()`(对于Python3)。
- 假设了所有非终结符的输入都是合法有效的字符序列。
阅读全文
相关推荐











