Нужна помощь с логикой в цикле

Не могу уже несколько часов построить нормальный цикл... Нужно сделать калькулятор с одной переменной и флагом. Истинна - вводим операнд, ложь - вводим оператор. При вводе в оператор "=" выводим результат всех сложений и выходим из цикла. У меня проблема в том что расчеты происходят после ввода оператора и до ввода второго операнда. Подскажите что нужно исправить или где найти информацию об этом

result = 0
operand = None
operator = None
wait_for_number = True
while operator != '=':
    if wait_for_number == True:
        operand = float(input('Write operand: '))
        wait_for_number = False
    if wait_for_number == False:
        operator = input('Write operator: ')
        if operator == '+':
            result += operand
            wait_for_number = True
        if operator == '-':
            result -= operand
            wait_for_number = True
        if operator == '/':
            result /= operand
            wait_for_number = True
        if operator == '*':
            result *= operand
            wait_for_number = True
print(result)

Ответы (1 шт):

Автор решения: DmitryK

Введите в первый операнд result первоначальное значение до цикла.

result = input('Write operator: ')
while operator != '=':
    ....
            
print(result)
→ Ссылка