Вопрос пользователя:
Ответ нейросети:
def count_calls(func):
def wrapper(*args, **kwargs):
wrapper.calls += 1
print(f"Function {func.__name__} has been called {wrapper.calls} times")
return func(*args, **kwargs)
wrapper.calls = 0
return wrapper
@count_calls
def string_info(s):
return len(s), s.upper(), s.lower()
@count_calls
def is_contains(s, lst):
return s.lower() in [item.lower() for item in lst]
# Пример использования
print(string_info("Hello, World!"))
print(is_contains("urban", ["Python", "Java", "C++", "Ruby", "Urban"]))
print(is_contains("urban", ["Python", "Java", "C++", "Ruby"]))
Этот код определяет декоратор count_calls, который подсчитывает количество вызовов функций string_info и is_contains. Функция string_info принимает строку и возвращает кортеж из длины строки, строки в верхнем регистре и строке в нижнем регистре. Функция is_contains принимает строку и список, и возвращает True, если строка находится в списке (без учета регистра), и False в противном случае.
Пример использования показывает, как использовать эти функции и как декоратор count_calls отслеживает количество вызовов каждой из них.
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.