Как сделать, чтобы для имён, начинающихся на «С», функция печатала строку Здравствуй, <имя>!, а для всех остальных — Привет, <имя>!
В задание нужно использовать lambda - функцию. Измените код так, чтобы для имён, начинающихся на «С», функция печатала строку Здравствуй, <имя>!, а для всех остальных — Привет, <имя>!. Программа должна напечатать такие строки:
Привет, Антон! Здравствуй, Соня! Привет, Коля! Привет, Женя! Привет, Тоня! Здравствуй, Стёпа!
Вот сам код
people = ['Антон', 'Соня', 'Коля', 'Женя', 'Тоня', 'Стёпа']
def say_to_all(func, sequence):
for item in sequence:
func(item)
say_to_all(...)
Ответы (1 шт):
Автор решения: beccapana
→ Ссылка
Делаем проверку, начинается ли имя на "С"
people = ['Антон', 'Соня', 'Коля', 'Женя', 'Тоня', 'Стёпа']
def say_to_all(func, sequence):
for item in sequence:
func(item)
say_to_all(lambda name: print(f"Здравствуй, {name}!") if name.startswith('С') else print(f"Привет, {name}!"), people)
Можем еще учесть, что имя будет начинаться с маленькой буквы:
people = ['Антон', 'Соня', 'Коля', 'Женя', 'Тоня', 'Стёпа', 'саша']
def say_to_all(func, sequence):
for item in sequence:
func(item)
say_to_all(lambda name: print(f"Здравствуй, {name}!") if name.lower().startswith('с') else print(f"Привет, {name}!"), people)