我还是python的新手,所以我会尽力解释我所做的一切所以基本上我的代码要求用户输入然后它导入一个包含单词的文本文件,并且每个单词都在一个单独的行中,然后,我的代码将用户输入存储在一个单独的文件中,并且只使用用户输入的第一行我试图查看我的用户输入的单词是否存在于我导入的预设文本文件中,然后在我的完整代码中,我会对这些单词进行一些操作,但它不起作用=="并且使用";计数器";以及";如果x在y中…";并且如果用户输入确实存在于文本文件中,则最后一行的计数打印为零。
user_input=input("Enter: ")
user_input=user_input.upper()
user_input=user_input.split()
print(user_input)
list_words=[]
with open("words.txt","r") as words:
english_words=words.readlines()
for line in english_words:
line=line.upper()
list_words.append(line.rstrip('n'))
with open("user-message.txt","w+") as file_of_user_inp:
for word in user_input:
file_of_user_inp.write(word +"n")
with open("user-message.txt","r") as file_of_user_inp:
first_line_user_inp=file_of_user_inp.readline()
user_input=first_line_user_inp
for each_eng_word in list_words:
for each_word in user_input:
if each_word==each_eng_word:
print("it worked")
print(list_words.count((user_input)))
下面是我制作的一个可能会有所帮助的程序。您可以键入一个由空格分隔的单词列表,它将检查文本文档中是否有任何匹配项。如果找到匹配项,它将打印匹配的单词。
我做的第一件事是创建变量user_input,list1,它保存文本文档中的所有单词,数字,WordString,这是一个临时字符串,在单词添加到列表之前保存它们。
user_input = input("Enter: ")
list1 = []
numbers = "1234567890"
WordString = ""
在这里,我打开一个文本文档,并使用read((函数读取文本文档。
with open("YOUR TEXT DOCUMENT", "r") as b:
words = b.read()
在这里,我使用"循环"遍历文本文档中的每个字符;对于循环"range((";,以及";len((";。
第一个";如果有条件";检查文本文档中的第x个字母是否不是空格,并检查第x个字符是否不是数字(或者不在我们的"数字变量"中,它无论如何都包含一系列数字。(这允许将所有连续的字母算作单词。我们将这些字母按顺序添加到";WordString"一串
第二个";如果有条件";检查单词是否已结束。它通过检查您是否已到达文本文档的空格、数字或末尾来完成此操作。如果它满足了这些条件中的任何一个,它将把你完成的单词添加到list1数组中。"-1〃;是因为len((测量从1开始的字符,数组中的项从0开始计数。一旦我们找到一个完整的单词,我们就会将WordString重置回一个空字符串,这样它就可以再次循环了。
for x in range(len(words)):
if words[x] != " " and words[x] not in numbers:
WordString += words[x]
if words[x] == " " or words[x] in numbers or x == len(words) - 1:
list1.append(WordString)
WordString = ""
第二个循环也检查单词,但它是在查找您在";user_input"变量。它还重复使用";WordString"变量。
唯一的区别在于第二个if语句。一旦我们找到一个完整、完整的单词。我们检查它是否是list1数组中的单词(我们将文本文档中的所有单词放在其中的位置(。如果它实际上是list1阵列中的单词,我们将其打印出来。
for y in range(len(user_input)):
if user_input[y] != " " and user_input[y] not in numbers:
WordString += user_input[y]
if user_input[y] == " " or user_input[y] in numbers or y == len(user_input) - 1:
if WordString in list1:
print(WordString)
WordString = ""
我尽力解释它,我也是Python的初学者。也许还有一种更有效的方法,我相信其他退伍军人可以更好地解释。但这是我的意见(并非双关语(。