编写一个程序, 用学典时键盘输入的英文学国频率 进行统计(忽略听小写)并逐行输“出每个字”出 现的次数。
时间: 2024-10-24 19:05:51 浏览: 10
C语言程序设计-从键盘输入一个大写字母,要求改用小写字母输出;.c
编写一个程序用于统计英文单词频率,通常需要以下几个步骤:
1. **用户输入**:
首先,你需要创建一个循环,让用户逐行输入文本。可以使用`input()`函数获取用户的输入,并将其转换成小写以统一处理。
```python
text = ""
while True:
user_input = input("请输入一段英文文本(按q退出): ")
if user_input.lower() == "q":
break
text += user_input.lower()
```
2. **分词处理**:
使用字符串操作或者正则表达式将输入的文本分割成单词列表。Python的内置模块`re`可以帮助我们做到这一点。
```python
import re
words = re.findall(r'\b\w+\b', text)
```
这里`\b\w+\b`是一个正则表达式模式,匹配单个单词(由字母、数字或下划线组成)。
3. **计数存储**:
创建一个空字典,键是单词,值是出现次数。遍历单词列表,对每个单词在字典中加一。
```python
word_freq = {}
for word in words:
word_freq[word] = word_freq.get(word, 0) + 1
```
4. **输出结果**:
最后,按照字典的顺序打印出每个单词及其出现次数。
```python
for word, freq in sorted(word_freq.items()):
print(f"{word}: {freq}次")
```
完整示例代码如下:
```python
import re
text = ""
while True:
user_input = input("请输入一段英文文本(按q退出): ")
if user_input.lower() == "q":
break
text += user_input.lower()
words = re.findall(r'\b\w+\b', text)
word_freq = {}
for word in words:
word_freq[word] = word_freq.get(word, 0) + 1
for word, freq in sorted(word_freq.items()):
print(f"{word}: {freq}次")
阅读全文