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


def calculator():
    while True:
        operation = input('Введите операцию(+, -, *, /) или 0, чтобы завершить: ')
        if operation == '+' or operation == '-' or operation == '*' or operation == '/' or operation == '0':
            if operation == '0':
                print('Завершение программы')
                return 0
            a = float(input('Введите число a: '))
            b = float(input('Введите число b: '))
            if operation == '/' and b == 0:
                print('Деление на нуль недопустимо')
                continue
            if operation == '+':
                res = a + b
            elif operation == '-':
                res = a - b
            elif operation == '*':
                res = a * b
            else:
                res = a / b
            print(res)
        else:
            print('Недопустимый знак операции')


if __name__ == '__main__':
    calculator()
