我有一项评估要求我在列表中交换单词。我给出了一个 txt 文件,其中包含一列“旧词”和一列“新词”。我需要定义一个函数来检查字符串以查看“旧单词”列表/列中的单词是否在字符串中,然后我需要将该单词与“新单词”列中的相应单词交换。
例如:
两列单词中的第一行:['We, 'You']。
字符串: “我们和我们的猫一起参加了婚礼” 输出: “你和你的猫一起参加了婚礼”
给定的 txt 文件包含两列,因此在编写了一些代码后,我设法将单词拆分为某些列表,有一个名为 'old_word_list' 的列表包含所有单词的单个字符串,这些单词将/可以在字符串和一个名为“new_word_list”的列表,其中包含用于替换旧单词的单词。
伪代码概念: 如果字符串包含 old_word_list 中的任何单词,则将 word/s 替换为 new_word_list 中相同(对应)索引的单词。
这是我唯一坚持的评估部分,如果有人可以帮助我,我将不胜感激,如果我遗漏了任何需要的信息,请发表评论。谢谢你。
完整代码:
# Declaring a global variables for the file, so it can be used in the code.
filename = "reflection.txt"
the_file = open(filename)
# Declaring any other reqiured variables.
word_list = []
old_word_list = []
new_word_list = []
# Creating loop to add all words to a list.
for line in the_file:
# Appends each line to the end of the list declared above. In appending
# the lines, the code also removes the last character on each line (/n).
word_list.append(line[:-1])
# Creating a loop to split each individual word, then appends the
# old/original words to a declared list, and appends the new words
# to a declared list.
for index in range(len(word_list)):
temp_word = word_list[index]
split_words = temp_word.split()
old_word_list.append(split_words[0])
new_word_list.append(split_words[1])
# Defining a function to produce altered statement.
def reflect_statement(statement):
# Swaps the old word with the new word.
for i in range(len(old_word_list)):
if old_word_list[i] in statement:
statement.replace(old_word_list[i], new_word_list[i])
# Replaces '.' and '!' with '?'
for index in range(list_length):
if old_word_list[index] in statement:
statment = statement.replace(old_word_list[index], \
new_word_list[index])
statement = statement.replace(".", "?")
statement = statement.replace("!", "?")
# Returns result statement.
return statement.