[#] Циклы
vit01(mira, 1) — All
2015-12-04 04:13:30


Написать программу, умеющую выполнять над двумя вещественными числами
арифметические операции (сложение, вычитание, умножение, деление) и
завершающуюся по желанию пользователя.
**Алгоритм:**
1. Запустить бесконечный цикл. Выход из него осуществлять с помощью оператора break, если пользователь вводит определенный символ вместо знака арифметической операции.
2. Если пользователь ввел знак, который не является ни знаком арифметической операции, ни символом-"прерывателем" работы программы, то вывести сообщение о некорректном вводе.
3. Если был введен один из четырех знаков операции, то запросить ввод двух чисел.
4. В зависимости от знака операции выполнить соответствующее арифметическое действие.
5. Если было выбрано деление, то необходимо проверить не является ли нулем второе число. Если это так, то сообщить о невозможности деления.
    print("Ноль в качестве знака операции завершит работу программы")
    while True:
    	s = input("Знак (+,-,*,/): ")
    	if s == '0': break
    	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("Деление на ноль!")
    	else:
    		print("Неверный знак операции!")
Пример выполнения программы:
    Ноль в качестве знака операции завершит работу программы
    Знак (+,-,*,/): h
    Неверный знак операции!
    Знак (+,-,*,/): +
    x=78.456
    y=23.567
    102.02
    Знак (+,-,*,/): -
    x=3.44
    y=10.25
    -6.81
    Знак (+,-,*,/): *
    x=0.012
    y=-2.15
    -0.03
    Знак (+,-,*,/): /
    x=5 
    y=0
    Деление на ноль!
    Знак (+,-,*,/): /
    x=-2.3
    y=5
    -0.46
    Знак (+,-,*,/): 0