|
@@ -175,7 +175,32 @@ def validate_all_kwargs_int_pos(func):
|
|
|
return wrapper
|
|
|
|
|
|
|
|
|
-@validate_all_kwargs_int_pos
|
|
|
+def filter_even(func):
|
|
|
+ def wrapper(*args, **kwargs):
|
|
|
+ my_list = []
|
|
|
+ for val in args:
|
|
|
+ if isinstance(val, int):
|
|
|
+ if val%2 == 0:
|
|
|
+ my_list.append(val)
|
|
|
+ if (isinstance(val, (str, list, tuple, dict))):
|
|
|
+ if len(val)%2 == 0:
|
|
|
+ my_list.append(val)
|
|
|
+ return func(*my_list, **kwargs)
|
|
|
+ return wrapper
|
|
|
+
|
|
|
+
|
|
|
+def delete_short(func):
|
|
|
+ def wrapper(*args, **kwargs):
|
|
|
+ my_dict = {}
|
|
|
+ for key, value in kwargs.items():
|
|
|
+ if len(key) > 4:
|
|
|
+ my_dict[key] = value
|
|
|
+ return func(*args, **my_dict)
|
|
|
+ return wrapper
|
|
|
+
|
|
|
+
|
|
|
+@filter_even
|
|
|
+@delete_short
|
|
|
def concatenate(*args, **kwargs):
|
|
|
result = ""
|
|
|
for arg in args + tuple(kwargs.values()):
|
|
@@ -183,12 +208,13 @@ def concatenate(*args, **kwargs):
|
|
|
return result
|
|
|
|
|
|
|
|
|
-def filter_even(func):
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
+
|
|
|
+ print(concatenate("Я", "хочу", "Выучить", "Питон", a="За", qwerty=10, c="Месяцев"))
|
|
|
+
|
|
|
# res = say_hello_to('Vasya', 'Ivanov')
|
|
|
# print(f'{res=}')
|
|
|
|
|
@@ -206,7 +232,7 @@ def main():
|
|
|
|
|
|
# print(concatenate("Ну", "Когда", "Уже", "Я", "Выучу", "Питон?"))
|
|
|
# print(concatenate(a="Я", b="Выучу", c="Этот", d="Питон", e="!"))
|
|
|
- print(concatenate(a=10, b=20, c=50))
|
|
|
+ # print(concatenate(a=10, b=20, c=50))
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|