Предмет: Информатика, автор: elfoxleo

Написать калькулятор таким образом, чтобы он работал до тех пор, пока пользователь этого хочет

Т.е. нужно делать запрос у пользователя на продолжение работы калькулятора после каждого вычисления - если пользователь ввел yes ( можно просто y), то новое вычисление, в противном случае - окончание работы.


Аноним: на каком языке программирования?
elfoxleo: на пайтоне
elfoxleo: while True:
a = input()
if a == "yes":
a = float(input("Введите первое число: "))
b = float(input("Введите второе число: "))
c = input("Введите действие: ")
if c == "+":
print(a + b)
elif c == "-":
print(a - b)
elif c == "/":
if b == 0:
print("Деление на 0!")
else:
print(a / b)
elif c == "*":
print(a * b)
while False:
break
elfoxleo: хелп, не могу догнать как сделать так, чтоб оно работало, что я делаю не так? У мня то нужные строки ввода пропадают, то цикл после ввода чего то кроме "yes" не завершается, а идет дальше.
elfoxleo: короче, как бы я не меняла, вечно какая то ошибка, не могу добиться всех пунктов, нужных по условию
elfoxleo: a = float(input("Введите первое число: "))
b = float(input("Введите второе число: "))
c = input("Введите действие: ")
while True:
x = input()
if x == "yes":
a = float(input("Введите первое число: "))
b = float(input("Введите второе число: "))
c = input("Введите действие: ")
if c == "+":
print(a + b)
elif c == "-":
print(a - b)
elif c == "/":
if b == 0:
print("Деление на 0!")
else:
print(a / b)
elif c == "*":
print(a * b)
while False:
break
elfoxleo: вот здесь все работает кроме того, что цикл не завершается после любой команды кроме "yes"
elfoxleo: все, разобралась.

Ответы

Автор ответа: Аноним
1

Если пользователь вводит "yes", калькулятор запрашивает числа и операцию, если что-то иное, то прекращает работу:

  • while True:
  •    a = input()
  •    if a == "yes":
  •        num1 = int(input())
  •        num2 = int(input())
  •        operation = input()
  •        if operation == "+":
  •            print(num1 + num2)
  •        elif operation == "-":
  •            print(num1 - num2)
  •        elif operation == "*":
  •            print(num1 * num2)
  •        else:
  •            print(num1 / num2)
  •    else:
  •        break
Приложения:

elfoxleo: спасибо, но это не работает как нужно
Похожие вопросы
Предмет: Алгебра, автор: erte9214