编写程序,对于输入的字符串,统计每个字符出现的次数,例如输入aabbccc,则输出{'a':2, 'b':2, 'c':3}(假定字符串只包含小写字母),要求使用字典结构完成
时间: 2024-03-13 09:47:05 浏览: 17
好的,这是一个统计字符串中字符出现次数的问题。下面是 Python 的实现代码:
```python
s = input() # 输入字符串
d = {} # 定义空字典
for c in s:
if c in d:
d[c] += 1
else:
d[c] = 1
print(d)
```
首先,我们输入一个字符串`s`,然后定义一个空字典`d`。我们遍历字符串`s`中的每个字符`c`。如果字符`c`在字典`d`中已经存在,则将字典`d`中`c`对应的值加1。否则,将字符`c`作为新的键添加到字典`d`中,并将其对应的值初始化为1。
最后,我们输出字典`d`即可。字典`d`中的键为输入字符串中出现的所有字符,值为它们在输入字符串中出现的次数。
希望这个代码能够帮助你解决问题!
相关问题
python编写程序,对于输入的字符串,统计每个字符出现的次数,例如输入aabbccc,则输出{'a':2, 'b':2, 'c':3}(假定字符串只包含小写字母),要求使用字典结构完成
好的,我可以帮你编写这个程序。以下是代码:
```python
string = input("请输入一个字符串:") # 获取用户输入的字符串
dict = {} # 创建一个空字典
for char in string:
if char in dict: # 如果该字符已经在字典中出现过
dict[char] += 1 # 将该字符的计数加1
else: # 如果该字符没有在字典中出现过
dict[char] = 1 # 将该字符的计数设为1
print(dict) # 输出字典
```
运行程序,输入一个字符串后,程序会输出每个字符出现的次数。例如,如果输入字符串为"aabbccc",则程序会输出:
```
{'a': 2, 'b': 2, 'c': 3}
```
希望这个程序能够帮助到你。
例题8-9 找最小的字符串 (15 分)
题目要求我们寻找一个最小的字符串。
这道题可以使用贪心算法来解决。我们将所有字母出现的次数存储在一个数组中,然后逐个字符地将字母加入结果字符串中。每次选择出现次数最少的字母加入结果字符串中即可。
具体实现可以使用 Python 的 collections 模块中的 Counter 类和 heapq 模块中的 heappop 函数,代码如下:
```python
from collections import Counter
from heapq import heappop
def find_smallest_string(s):
# 统计每个字母出现的次数
counter = Counter(s)
# 将字母出现次数的键值对转化成元组,加入最小堆中
heap = [(count, char) for char, count in counter.items()]
# 将最小堆转化成小根堆
heapify(heap)
# 逐个字符地将字母加入结果字符串中
result = ''
while heap:
count, char = heappop(heap)
result += char
# 更新字母出现次数并重新加入最小堆中
if count > 1:
heappush(heap, (count - 1, char))
return result
```
最后,调用函数并输出结果即可:
```python
s = 'abcbccabcaa'
print(find_smallest_string(s)) # 输出 'aabbccc'
```
阅读全文