我已經寫了一些代碼,可以找到用戶在一個句子中輸入的單詞的位置。但是,在他們輸入詞語後,我需要找到該位置的代碼並打印出來,然後停在那裏。但它不會停止,而是繼續到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