задача, простой калькулятор python
Напишите программу, которая будет выполнять простейшие математические операции с числами последовательно, принимая от пользователя операнды (числа) и оператор.
Условия для этой задачи
Приложение работает с целыми и действительными числами. Приложение умеет выполнять следующие математические операции: СЛОЖЕНИЕ (+) ВЫЧИТАНИЕ(-) УМНОЖЕНИЕ () ДЕЛЕНИЯ (/) Программа принимает один операнд или один оператор за один цикл запрос-ответ. Все операции программа выполняет в порядке поступления – одну за другой. Программа выводит результат вычислений, когда получает от пользователя символ =. Приложение завершает работу после того, как выведет результат вычисления. Пользователь поочередно вводит числа и операторы. Если пользователь вводит оператор дважды подряд, он получает уведомление об ошибке и может ввести повторно. Если пользователь вводит число дважды, он получает сообщение об ошибке и может ввести повторно. Приложение корректно прорабатывает ситуацию некорректного ввода (exception). result - сюда помещаем итоговый результат operand - всегда сохраняет текущее число operator - строчный параметр, может содержать четыре значения, "+", "-", "", "/" wait_for_number - флажок, указывающий, что ожидают на вводе оператор ( operator) или операнд (operand)
result = None
operand = None
operator = None
wait_for_number = True
while True:
if wait_for_number == True:
try:
operand = int(input("input digit >>> "))
result = result + operand
wait_for_number = False
except Exception:
print("is not digit, try again")
else:
operator = input("input operator >>> ")
if operator == "+" or operator == "-" or operator == "*" or operator == "/":
wait_for_number = True
result = result + operator
elif operator == "=":
result = eval(result)
print(result)
break
else:
print("is not '=' or '+' or '-' or '*' or '/', try again ")
Я думал сформировать строку из операндов и операторов и потом через eval делать вычисления, но получаю ошибку
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
не могу понять как используя один операнд сделать вычисления