Найти первый подсписок по букве. Python
Всем привет! Мне нужно найти первый подсписок в слове по какой-то букве. Например, пользователь дает слово, затем дает букву, и если в слове есть эта буква, нам нужно проверить, есть ли у нас 2 следующие буквы? если да, то печатаем букву + 2 следующие буквы в слове. Если буквы нет в слове, ничего не печатайеm. Например:
word: banan
letter: n
"nan"
word: Orange
letter: r
"ran"
word: python
letter: n
мой код совершенно неправильный. не понимаю, как это сделать.
word=input("word: ")
letter=input("letter: ")
lst=[i[-2:] for line in word for i in line.split()]
print(lst)
Ответы (2 шт):
для этого проще воспользоваться функцией str.find(chr,start,stop) то есть str(chr,0,-2) либо
for chr in enumerate(string)-2:
if string[chr]==search_char:
print(string[chr:chr+2])
break #так как нет смысла продолжать ибо есть результат
в данном случае не обязательно использовать цикл:
word = 'banan'
letter = 'b'
i = word.find(letter)
print(word[i:i+3]) # ban
UPD
как верно заметил в комментариях ganz, необходимо немного изменить параметры вызова функции:
word = 'python'
letter = 'o'
i = word.find(letter,0,-2)
print(word[i:i+3])