用Python实现 问题描述】 编写程序,打开一篇英文文章(存在当前目录下的文件in.txt中),为该文章生成词汇表(存到当前目录下的另一个文件words.txt中)。文章中单词指的是只由小写或大写字母组成的字符串,但词汇表中的单词都是以小写字母的形式出现,若文章中出现多个大小写无关的相同单词,只在词汇表中生成一个单词。假设生成的词汇表中单词个数不会超过100个,且每个单词的长度不会超过20。词汇表中的单词以字典顺序由小到大存放。 【输入形式】 输入的英文文章存储在当前目录下的文件in.txt中。 【输出形式】 输出的词汇表存储到当前目录下的文件words.txt中,每个单词独占一行,以字典顺序由小到大存放
时间: 2024-01-22 14:18:28 浏览: 68
采用python程序设计语言,进行分词,再去掉停用词和标点符号等,生成文档的词典
可以按照以下步骤实现:
1. 读取文件in.txt中的英文文章内容。
2. 将文章内容按照空格分割成单词。
3. 将单词转换为小写形式,忽略大小写相同的单词。
4. 将所有单词按照字典顺序排序。
5. 将所有单词写入文件words.txt中。
具体代码如下:
```python
import string
# 读取文件
with open('in.txt', 'r') as f:
content = f.read()
# 去除标点符号并按照空格分割成单词
words = content.translate(str.maketrans('', '', string.punctuation)).split()
# 将单词转换为小写形式,并去除大小写相同的单词
lower_words = set(word.lower() for word in words)
# 按照字典顺序排序
sorted_words = sorted(lower_words)
# 将所有单词写入文件words.txt中
with open('words.txt', 'w') as f:
f.write('\n'.join(sorted_words))
```
执行完毕后,文件words.txt中将会存储所有单词的词汇表,每个单词占一行,按照字典顺序排列。
阅读全文