-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_6_3.py
More file actions
38 lines (34 loc) · 1.42 KB
/
Copy pathtest_6_3.py
File metadata and controls
38 lines (34 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""
Задание 3.
Напишите функцию same_by(characteristic, objects), которая
проверяет, все ли объекты имеют одинаковое значение
некоторой характеристики, и возвращают True, если это так.
Если значение характеристики для разных объектов
отличается - то False. Для пустого набора объектов, функция
должна возвращать True. Аргумент characteristic - это
функция, которая принимает объект и вычисляет его
характеристику
Ввод:
values = [0, 2, 10, 6]
if same_by(lambda x: x % 2, values):
print("same")
else:
print("different")
Вывод:
same
"""
def same_by(characteristic, objects):
"""
Проверяет, имеют ли все объекты в последовательности одинаковое значение характеристики.
Если последовательность пуста, возвращает True.
"""
if not objects:
return True
first_val = characteristic(objects[0])
return all(characteristic(obj) == first_val for obj in objects)
# Пример использования
values = [0, 2, 10, 6]
if same_by(lambda x: x % 2, values):
print("same")
else:
print("different")