Я написал код, который находит позицию слова, которое пользователь вводит в предложение. Но после того, как они вводят слово, мне нужен код, чтобы найти позицию и распечатать ее, а затем остановить там. Но это не останавливается, а продолжается до выражения 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