<p>有一个内置函数叫做:<code>set</code><a href="https://docs.python.org/3/library/stdtypes.html#set" rel="nofollow noreferrer">https://docs.python.org/3/library/stdtypes.html#set</a>:</p>
<pre><code>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()
# for loop makes sure that if the word is in the list then it wont print it out again
for word in s:
if word not in s:
s.append(word)
# works out the positions of the words
positions = [s.index(x) + 1 for x in s]
print(set(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(set(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(set(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")'
</code></pre>