print("Ноль в качестве знака операции "
"завершит работу программы")
# бесконечный цикл
while True:
s = input("Знак (+,-,*,/): ")
# Если вместо знака операции был
# введен 0, то выполняется
# принудительное завершение работы
# цикла с помощью оператора break
if s == '0':
break
# Мы проверяем, что знак операции
# был введен корректно, иначе все
# остальное не имеет смысла.
# Если s совпадает с одним из
# элементов кортежа ...
if s in ('+','-','*','/'):
# переводим числа в
# вещественный тип,
x = float(input("x="))
y = float(input("y="))
# выполняем над числами
# выбранную операцию,
if s == '+':
print("%.2f" % (x+y))
elif s == '-':
print("%.2f" % (x-y))
elif s == '*':
print("%.2f" % (x*y))
elif s == '/':
# исключаем ошибку при
# делении на ноль.
if y != 0:
print("%.2f" % (x/y))
else:
print("Деление на ноль!")
# Эта ветка срабатывает, когда в
# качестве знака операции было введено
# что угодно, но только не 0, +, -, *, /.
# Также как в случае с if после
# выполнения данного else
# поток выполнения переходит к новой
# итерации цикла while, т. е. снова
# будет запрашиваться знак операции.
else:
print("Неверный знак операции!")
Ноль в качестве знака операции завершит работу программы
Знак (+,-,*,/): plus
Неверный знак операции!
Знак (+,-,*,/): +
x=5
y=-2.3
2.70
Знак (+,-,*,/): /
x=9
y=4
2.25
Знак (+,-,*,/): 0
с вашего сайта.