编写python程序,打开一篇英文文章(存在当前目录下的文件in.txt中),为该文章生成词汇表(存到当前目录下的另一个文件words.txt中)。文章中单词指的是只由小写或大写字母组成的字符串,但词汇表中的单词都是以小写字母的形式出现,若文章中出现多个大小写无关的相同单词,只在词汇表中生成一个单词。假设生成的词汇表中单词个数不会超过100个,且每个单词的长度不会超过20。词汇表中的单词以字典顺序由小到大存放。
时间: 2024-01-22 10:18:22 浏览: 68
以下是实现该功能的Python代码:
```python
import re
# 读取文章内容
with open('in.txt', 'r') as f:
content = f.read()
# 将文章中的单词提取出来
word_list = re.findall(r'\b[A-Za-z]+\b', content)
# 将单词转换成小写形式,并去重
word_set = set([word.lower() for word in word_list])
# 将单词排序,并保存到文件中
with open('words.txt', 'w') as f:
for word in sorted(word_set):
f.write(word + '\n')
```
首先,我们使用`open()`函数读取文章文件内容,并用正则表达式`r'\b[A-Za-z]+\b'`提取文章中的单词。这里`\b`表示单词的边界,`[A-Za-z]+`表示由大小写字母组成的字符串。提取出的单词列表存储在`word_list`中。
接下来,我们使用集合`set`将单词转换成小写形式,并去重,存储在`word_set`中。
最后,我们将`word_set`中的单词进行排序,并逐个写入到`words.txt`文件中。写入过程中,我们使用`sorted()`函数对单词进行字典序排序,然后在每个单词后面添加一个换行符`\n`,使每个单词占据一行。
相关问题
编写程序,打开一篇英文文章(存在当前目录下的文件in.txt中),为该文章生成词汇表(存到当前目录下的另一个文件words.txt中)python
以下是可能的实现方式:
```python
# 打开文件
with open("in.txt", "r") as f:
text = f.read()
# 将文本转换为词汇表
words = set(text.split())
# 将词汇表写入文件
with open("words.txt", "w") as f:
for word in sorted(words):
f.write(word + "\n")
```
该程序首先打开名为 "in.txt" 的文件,读取其中的文本。然后,将文本按空格分割成单词,并将这些单词存储在一个集合中,以去除重复项。最后,程序将词汇表按字典序排序,并将其写入名为 "words.txt" 的文件中。
Python编写程序,打开一篇英文文章(存在当前目录下的文件in.txt中),为该文章生成词汇表(存到当前目录下的另一个文件words.txt中)。文章中单词指的是只由小写或大写字母组成的字符串,但词汇表中的单词都是以小写字母的形式出现,若文章中出现多个大小写无关的相同单词,只在词汇表中生成一个单词。假设生成的词汇表中单词个数不会超过100个,且每个单词的长度不会超过20。词汇表中的单词以字典顺序由小到大存放。 【输入形式】 输入的英文文章存储在当前目录下的文件in.txt中。 【输出形式】 输出的词汇表存储到当前目录下的文件words.txt中,每个单词独占一行,以字典顺序由小到大存放。
代码如下:
```python
import string
# 读取文章内容
with open('in.txt', 'r') as f:
content = f.read()
# 将文章中的标点符号替换为空格
for c in string.punctuation:
content = content.replace(c, ' ')
# 将文章中的单词转换为小写,去除多余的空格
words = content.lower().split()
# 去除重复单词
words = list(set(words))
# 将单词按字典序排序
words.sort()
# 将单词写入文件
with open('words.txt', 'w') as f:
for word in words:
f.write(word + '\n')
```
代码思路:
1. 读取文件内容到变量`content`中。
2. 对于每个标点符号,用空格替换掉。
3. 将文章中的单词转换为小写,去除多余的空格。
4. 使用`set`去除重复单词。
5. 将单词按字典序排序。
6. 将单词写入文件。
阅读全文