Я работаю над программой для школьного проекта, которая должна работать как поиск слова. Нам нужно найти слово (или слова) в строке и напечатать, где оно находится в строке. кажется достаточно легким Вот пример:
yew = "hello"
myString = "alskdfjhelloadskjf"
print(myString.find(yew))
Это печатает 7
, как и ожидалось. Мой профессор также хочет, чтобы мы могли найти слова, обратные, вот пример моего кода, который также работал
myString = "alskdfjollehadskjf"
print(myString.find(yew[::-1]))
Это также печатает 7
, однако, мой профессор хочет, чтобы программа печатала размещение первой буквы в слове, поэтому в этом случае я хочу напечатать 11
. До сих пор я нашел единственный способ решить эту проблему:
print(myString.find(yew[::-1]) + len(yew) - 1) # prints 11
Есть ли более эффективный способ сделать это, чего я не вижу? или альтернатива find()
вы думаете, лучше подойдет этой программе? Спасибо!
edit: есть ли способ написать это в более сжатой форме *, не обязательно более эффективный, потому что, как мы видим, он работает нормально. извините за не уточнение