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