我已经写了一些代码,可以找到用户在一个句子中输入的单词的位置。但是,在他们输入词语后,我需要找到该位置的代码并打印出来,然后停在那里。但它不会停止,而是继续到else语句,如果他们输入不在句子中的单词,会发生什么情况。如果我使用break,它只会打印单词的第一个位置,如果它在句子中出现多次。我该怎么办?我需要停止我的for循环,但休息不会工作
sentence = "ask not what your country can do for you ask what you can do for your country"
print(sentence)
keyword = input("Input a keyword from the sentence: ").lower()
words = sentence.split(' ')
for i, word in enumerate(words):
if keyword == word:
print("The position of %s in the sentence is %s" % (keyword,i+1))
if keyword != word:
keyword2 = input("That was an invalid input. Please enter a word that is in the sentence: ").lower()
words = sentence.split(' ')
for i, word in enumerate(words):
if keyword2 == word:
print("The position of %s is %s" % (keyword2,i+1))
如果这个词出现不止一次,你想要的每个单词的位置? – Doshmajhan
当条件满足时使用'break'命令。 – user590028
您可能想将其包装在一个函数中,并在找到时返回值。然后在调用函数时打印返回的值。这样,您也可以在其他情况下重用它,而无需重新编码。 :) – codykochmann