Как сделать, чтобы для имён, начинающихся на «С», функция печатала строку Здравствуй, <имя>!, а для всех остальных — Привет, <имя>!

В задание нужно использовать 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)

→ Ссылка