Мне нужна помощь с моим кодом на Python. Я пытался сохранить предложение, введенное в текстовый файл, без повторения слов в файле. Я не знаю, как это сделать.Код Python - не знаю о текстовых файлах
Любая помощь приветствуется.
Это мой код:
import sys
#user-friendly, informs the user what do to
answer = input("What is your name?\n")
print("Hello " + answer + " and welcome to this program!\n")
print("This program will ask you for a sentence and print out the positions of the words instead of the actual words. it will then save it in a file with the sentence.\n")
repeat = True
loop = True
true = True
#Allows the user to decide whether or not they want to use the program
while repeat:
answer2 = input("Do you want to do run this program?\n")
#if the answer is 'no' then the program stops
if answer2.lower() == "No" or answer2.lower() == "nah" or answer2.lower() == "no" or answer2.lower() == "n":
print ("Okay then ... Bye.")
sys.exit()
#if the answer is 'yes' then the code continues
elif answer2 == "Yes".lower() or answer2.lower() == "yeah" or answer2.lower() == "yes" or answer2.lower() == "y":
print ("Okay then ... \n")
while true:
if loop == True:
sentence = input("Please enter a sentence:\n").lower()
#converts the sentence into a list
s = sentence.split()
#works out the positions of the words
positions = [s.index(x)+1 for x in s]
print(positions)
#opens a text file
fi = open("CA Task 2.txt", "w")
#Allows you to write over the original content in the file
fi.write(str(s))
#it closes the file once you've finished with it
fi.close()
#opens a text file
fi = open("CA Task 2.txt", "a")
#Allows you to add to the text file instead of writing over it
fi.write("\n")
fi.write(str(positions))
#it closes the file once you've finished with it
fi.close()
sys.exit()
#if the answer is neither 'yes' nor 'no' then the programs jumps to this part and allows the user to try again
else:
print("Please enter a valid answer! Try again!\n")
Давайте просто скажем, предложение, введенный в «Не спрашивай, что твоя страна может сделать для вас, но то, что вы можете сделать для своей страны».
Он должен прийти, говоря: спросить, что ваша страна может сделать для вас, но то, что вы можете сделать для своей страны
[1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, 3, 9, 6, 7, 8, 4, 5]
Это работает, а затем его необходимо сохранить в текстовый файл: ['ask', 'not', 'what', ' ваши ',' country ',' can ',' do ',' for ',' you ',' but ',' what ',' you ',' can ',' do ',' for ',' your ' , 'страна']
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 3, 9, 6, 7, 8, 4, 5]
Это прекрасно, но я хочу, чтобы это не повторять слово, если оно уже упоминалось один раз в текстовом файле.
Не совсем уверен, что вы просите о помощи с здесь. Что вы ожидаете - может быть, пример ввода пользователем и то, что было бы сохранено в файле, было бы удобно. И что в настоящее время происходит. – freebie
В основном я хочу, чтобы пользователь вводил предложение (это работает), а затем я хочу сохранить его в текстовом файле с позициями (это также работает). Но что я не знаю, что делать, если слово в предложении повторяется, как вы храните это из текстового файла @freebie –
@AsifKhan, можете ли вы добавить свой ожидаемый ответ в свой вопрос? это может быть изображение или текст, который поможет понять ваш вопрос. –