Вводятся имена : Женя Вася Коля Петя. Если найдётся хоть одно у которого совпадают 1 и последняя буквы вывести: ДА, иначе вывести: НЕТ

lst = list(map(str, input().lower().split()))
k = 0
a = 0

while k<len(lst):
     
    if k==len(lst):
        print('НЕТ')
        break
    
         
    if lst[k][0]==lst[k][-1]:
        a += 1
    k = k + 1   
    if a==1:
        print('ДА')
        break 

Ответы (3 шт):

Автор решения: S. Nick

Попробуйте так:

#lst = list(map(str, input().lower().split()))
lst = ['женя', 'вася', 'александра', 'коля', 'петя']

for item in lst:
    if item[0] == item[-1]:
        print(f'{item}: {item[0]} = {item[-1]}') # 
        print('ДА')
        break 
else:
    print('НЕТ')

введите сюда описание изображения

→ Ссылка
Автор решения: Namerek
names = ['Женя', 'Вася', 'Александра', 'Коля', 'Петя']

def compare(word: str):
    first, *_, last = word.lower()
    return 'ДА' if first == last else 'НЕТ'


print(
    *map(compare, names),
    sep='\n'
)
→ Ссылка
Автор решения: MarianD
names = input().lower().split()

for name in names:
    if name[0] == name[-1]:
        print("ДА")
        break
else:
    print("НЕТ")

Объяснение:

  1. Не надо применить map(str, input()...), т.к. функция input() по определению уже возвращает тип строки (str).

  2. В цикле for допускается ветвь else, которая выполнится только в случае, когда цикл for вполне исчерпался (т.е. когда команда break не совершилась — не появилось ни одно имя с совпадающей первой и последней буквой).

→ Ссылка