В строке найти и вывести все слова, начинающиеся на букву N и слова оканчивающиеся на букву P. Буквы N и P вводяться пользователем
Некоторое время назад столкнулся с вышеуказаной проблемой. Я новичёк в Python, поэтому пока не могу прийти к какому-то решению. Буду очень благодарен за любую подсказку или помощь )
Попробовал вот так, но не работает
r = input("Введите текст на английском:").split(" ")
n = input("Введите N:")
p = input("Введите P:")
l = []
z = []
for i in r:
if r.startswith(n):
l.append(i)
for i in r:
if r.endswith(p)
z.append(i)
print(f"Слова которые начинаются на заданую букву :{l}")
print(f"Слова которые начинаются на заданую букву :{z}")
Ответы (1 шт):
Автор решения: Jack_oS
→ Ссылка
- запросите буквы: на которую должны начитаться и на которую заканчиваться
- запросите у пользователя строку со словами;
- разделите ее на слова по пробелу
- для каждого из них проверьте, не начинается ли оно и не заканчивается ли заданными буквами
- если да - выводите на печать
Т.е. ваш немного измененный код:
r = input("Введите текст на английском:").split(" ")
n = input("Введите N:")
p = input("Введите P:")
l = []
z = []
for i in r:
if i.startswith(n):
l.append(i)
for i in r:
if i.endswith(p):
z.append(i)
print(f"Слова, которые начинаются на заданую букву: {l}")
print(f"Слова, которые заканчиваются на заданую букву: {z}")
при
>>> Введите текст на английском:>?
qwer tyui oper asdf ghjf klui gzxcv
>>> Введите N:>?
g
>>> Введите P:>?
r
выведет:
Слова, которые начинаются на заданую букву: ['ghjf', 'gzxcv']
Слова, которые заканчиваются на заданую букву: ['qwer', 'oper']
PS проверить слова можно в одном цикле:
for i in r:
if i.startswith(n):
l.append(i)
if i.endswith(p):
z.append(i)