Вводятся имена : Женя Вася Коля Петя. Если найдётся хоть одно у которого совпадают 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("НЕТ")
Объяснение:
Не надо применить
map(str, input()...), т.к. функцияinput()по определению уже возвращает тип строки (str).В цикле
forдопускается ветвьelse, которая выполнится только в случае, когда циклforвполне исчерпался (т.е. когда командаbreakне совершилась — не появилось ни одно имя с совпадающей первой и последней буквой).
