用python编写程序:统计输入的字符串中每个英文单词出现的次数,并以字典形式输出。单词中的字母不区分大小写。
时间: 2024-03-11 15:48:24 浏览: 270
可以使用 Python 的字典来实现统计每个英文单词出现次数的功能。具体的步骤如下:
1. 读取输入的字符串。
2. 将字符串转换为小写,以便统计单词时不区分大小写。
3. 使用正则表达式(re 模块)将字符串拆分为单词列表。
4. 遍历单词列表,统计每个单词出现的次数,并将结果存储在字典中。
5. 输出字典。
下面是代码示例:
```python
import re
# 读取输入的字符串
input_str = input("请输入字符串:")
# 将字符串转换为小写
input_str = input_str.lower()
# 使用正则表达式拆分字符串为单词列表
word_list = re.findall(r'\b\w+\b', input_str)
# 统计每个单词出现的次数
word_count = {}
for word in word_list:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 输出结果
print("每个单词出现的次数为:")
print(word_count)
```
注意,上述代码使用了正则表达式 `\b\w+\b` 来匹配字符串中的单词。`\b` 表示单词的边界,`\w+` 表示一个或多个字母数字字符。
相关问题
问题描述 编写一个函数,接收一个字符串作为输入,并统计并输出字符串中每个单词出现的次数。 输入描述 用户输入一个字符串。 输出描述 输出一个字典,键是单词,值是该单词出现的次数。
要编写一个函数来统计给定字符串中每个单词出现的次数,你可以使用Python的内置数据结构`collections.Counter`,这个工具非常适合计数元素。这里是一个简单的示例:
```python
from collections import Counter
def word_count(input_string):
# 首先,我们需要清理输入字符串,移除标点符号并将所有字母转换为小写
cleaned_string = input_string.lower().replace(',', '').replace('.', '').replace('!', '').replace('?', '').split()
# 使用Counter计算单词频率
word_counts = Counter(cleaned_string)
return word_counts
# 示例用法
input_text = "Hello, world! This is a test. Hello again."
word_frequency = word_count(input_text)
print(word_frequency)
```
在这个例子中,我们首先将输入字符串中的标点符号替换为空格,然后分割成单词列表。接着,我们将单词列表传递给`Counter`函数,它会返回一个字典,其中的键是单词,值是该单词出现的次数。
用python编写问题:输入一个长单词,找到出现最多的字母和这个字母出现的次数,次数相同的字母输出单词中最先出现的字母。 拓展: 次数相同的字母按字母表顺序输出字母
你可以使用Python编写以下程序来解决这个问题,这里我们使用字典存储每个字符及其出现次数,并遍历一次字符串,以保持最早出现的字母记录:
```python
def find_most_common_char(word):
# 初始化字典来存储字母和它们的出现次数
char_count = {}
# 最常出现的字母及其次数
max_freq_char = None
max_freq = 0
# 遍历单词,更新字符计数并检查最大频率
for char in word:
if char.isalpha(): # 只考虑字母
char_count[char] = char_count.get(char, 0) + 1
if char_count[char] > max_freq:
max_freq = char_count[char]
max_freq_char = char
# 按照字母表顺序查找等频次的字母
sorted_chars = sorted(char_count.items(), key=lambda x: (x[1], x[0]))
result = [char for char, freq in sorted_chars if freq == max_freq]
return max_freq_char, max_freq, result
# 测试函数
word = input("请输入一个长单词:")
most_common_char, frequency, occurrences = find_most_common_char(word)
print(f"最常出现的字母是 '{most_common_char}',出现了 {frequency} 次。")
if occurrences:
print(f"出现同样次数的字母有:{''.join(occurrences)}")
else:
print("没有出现同样次数的字母。")
阅读全文