# Написать программу, которая будет складывать, вычитать, умножать или делить два числа.
# Числа и знак операции вводятся пользователем.
# После выполнения вычисления программа не должна завершаться, а должна запрашивать новые данные для вычислений.
# Завершение программы должно выполняться при вводе символа '0' в качестве знака операции.
# Если пользователь вводит неверный знак (не '0', '+', '-', '*', '/'),
# то программа должна сообщать ему об ошибке и снова запрашивать знак операции.
# Также сообщать пользователю о невозможности деления на ноль, если он ввел 0 в качестве делителя.


func = {
    '+': lambda a, b: a + b,
    '-': lambda a, b: a - b,
    '/': lambda a, b: a / b,
    '*': lambda a, b: a * b,
}

while True:
    o = input('Введите знак операции:\n')
    a = input('Введите число a:\n')
    b = input('Введите число b:\n')
    while o != '0':
        if (a == '0' and o == '/') or (b == '0' and o == '/'):
            print('Деление на ноль не возможно')
            break
        else:
            print(f'{a} {o} {b} = {func[o](int(a), int(b))}')
            break
    else:
        break
