用python编写编写程序,打开一篇英文文章(存在当前目录下的文件in.txt中),为该文章生成词汇表(存到当前目录下的另一个文件words.txt中)。文章中单词指的是只由小写或大写字母组成的字符串,但词汇表中的单词都是以小写字母的形式出现,若文章中出现多个大小写无关的相同单词,只在词汇表中生成一个单词。假设生成的词汇表中单词个数不会超过100个,且每个单词的长度不会超过20。词汇表中的单词以字典顺序由小到大存放。
时间: 2024-01-22 22:18:22 浏览: 107
以下是实现该程序的Python代码:
```python
import string
# 读取文章内容
with open('in.txt', 'r') as f:
content = f.read()
# 处理文章内容,获取所有单词
words = []
word = ''
for c in content:
if c in string.ascii_letters:
word += c
else:
if word:
words.append(word.lower())
word = ''
if word:
words.append(word.lower())
# 生成词汇表
word_set = set(words) # 去重
word_list = sorted(list(word_set)) # 排序
if len(word_list) > 100: # 限制单词个数
word_list = word_list[:100]
# 将词汇表写入文件
with open('words.txt', 'w') as f:
f.write('\n'.join(word_list))
```
代码的主要思路是先读取文章内容,然后处理文章内容获取所有单词。处理时,遇到字母就将其添加到单词中,遇到非字母字符就认为单词结束,将单词加入列表中(注意转为小写形式)。接着,对单词列表进行去重和排序,并根据题目要求限制单词个数不超过100个。最后,将词汇表写入文件。
阅读全文