Помогите найти ошибки в решении задачи PYTHON
Нужно реализовать функцию numbers_handler, которая принимает список чисел numbers и три колбэка: -before - колбек, который первым вызывается для каждого из чисел -action - вызывается вторым для каждого из чисел -after - вызывается последним для каждого из чисел Каждый из колбэков имеет единственный параметр - число number. Функция должна вызвать все три колбэка в указанном порядке для каждого из чисел. Кроме того, надо реализовать значения этих колбэков по умолчанию.
Для before нужно написать функцию new_number, которая принимает число и выводит строку "Received a new number: {number}" с помощью функции print.
Для action нужно написать функцию is_positive, которая принимает число и выводит строку "{number} is a positive number", если число number - положительное, строку Zero, если число равно нулю, и строку "{number} is a negative number", если число отрицательное.
Для after нужно написать функцию print_bye, которая просто выводит строку Bye!.
Например:
numbers_handler([1, -1, 0]) # вызываем функцию со значениями функций по умолчанию
# на экран выведется:
# Received a new number: 1
# 1 is a positive number
# Bye!
# Received a new number: -1
# -1 is a negative number
# Bye!
# Received a new number: 0
# Zero
# Bye!
def print_hello(number):
print("Hello!")
def some_action(number):
print("Action!")
Мой код работает не корректно, помогите, пожалуйста, исправить ошибки:
from typing import Callable
def new_number(number: int) -> None:
print(f"Received a new number: {number}")
def is_positive(number: int) -> None:
if number > 0:
print(f"{number} is a positive")
elif number == 0:
print("Zero")
elif number < 0:
print(f"{number} is a negative")
def print_bye(number: int) -> None:
print("Bye")
def numbers_handler(
numbers: list,
before: Callable = new_number,
action: Callable = is_positive,
after: Callable = print_bye,
) -> None:
for number in numbers:
print(before(number), action(number), after(number))