Простейший калькулятор

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


Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий