/
glukhov2008
/
Python
Обзор
Документация
Войти
/
glukhov2008
/
Python
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
func_likes.py
46 строк
3 KB
AndrewGluss
add another method to solve
02 сен 2022, 12:18
02 сен 2022, 12:18
ac2107a
Код
Авторство
О чём код?
''' В различных социальных сетях существуют системы лайков, которые в зависимости от количества людей, оценивших запись, показывают соответствующую информацию. Реализуйте функцию likes(), которая принимает один аргумент: names — список имён Функция должна возвращать строку в соответствии с примерами ниже, содержание которой зависит от количества имён в списке names. Приведенный ниже код: print(likes([])) print(likes(['Тимур'])) print(likes(['Тимур', 'Артур'])) print(likes(['Тимур', 'Артур', 'Руслан'])) print(likes(['Тимур', 'Артур', 'Руслан', 'Анри'])) print(likes(['Тимур', 'Артур', 'Руслан', 'Анри', 'Дима'])) print(likes(['Тимур', 'Артур', 'Руслан', 'Анри', 'Дима', 'Рома', 'Гвидо', 'Марк'])) должен выводить: Никто не оценил данную запись Тимур оценил(а) данную запись Тимур и Артур оценили данную запись Тимур, Артур и Руслан оценили данную запись Тимур, Артур и 2 других оценили данную запись Тимур, Артур и 3 других оценили данную запись Тимур, Артур и 6 других оценили данную запись Примечание 1. Имена в формируемой и возвращаемой функцией строке должны располагаться в своем исходном порядке. Примечание 2. Обратите внимание, что если в передаваемом в функцию списке более трех имен, то явно указываются лишь первые два из них. Примечание 3. В тестирующую систему сдайте программу, содержащую только необходимую функцию likes(), но не код, вызывающий ее. ''' def likes(names): if len(names)== 1: return names[0]+' оценил(а) данную запись' elif len(names)== 2: return names[0]+" и "+ names[1] + ' оценили данную запись' elif len(names)== 3: return names[0]+", "+ names[1] + " и "+ names[2] +' оценили данную запись' elif len(names)> 3: return names[0]+", "+ names[1] + " и "+ str(len(names)-2) +' других оценили данную запись' else: return 'Никто не оценил данную запись' # def likes(names): # n = len(names) # return { # 0: 'no one likes this', # 1: '{} likes this', # 2: '{} and {} like this', # 3: '{}, {} and {} like this', # 4: '{}, {} and {others} others like this' # }[min(4, n)].format(*names[:3], others=n-2)