def solve(x, op, y):
if str(op) == '+':
try:
print(float(x) + float(y))
except ValueError:
print('одно из значений не число')
elif str(op) == '-':
try:
print(float(x) - float(y))
except ValueError:
print('одно из значений не число')
elif str(op) == '*':
try:
print(float(x) * float(y))
except ValueError:
print('одно из значений не число')
elif str(op) == '/':
try:
print(float(x) / float(y))
except ZeroDivisionError:
print('на ноль делить нельзя')
except ValueError:
print('одно из значений не число')
return 0
elif str(op) == '//':
try:
print(float(x) // float(y))
except ZeroDivisionError:
print('на ноль делить нельзя')
except ValueError:
print('одно из значений не число')
return 0
elif str(op) == '^':
try:
print(float(x) ** float(y))
except ValueError:
print('одно из значений не число')
else:
print('error')
return 0
while True:
num1, op, num2 = input().split()
solve(num1, op, num2)
Объяснение:
Данные вводятся через пробел, ex:
Ввод: 2 + 2
Вывод: 4
ДЗ для ВЕРЫ ВИКТОРОВНЫ:
Объяснение:
Var I, N, m: integer;
{Выводит таблицу квадратов до N числа}
Begin
Readln(N); //Что вводим в этой строке и зачем? Как можно подсказать пользователю, что ввести?
{Вводим до какого числа нам нужно получить квадрат; Подсказать можно через WRITELN}
Writeln('Таблица квадратов чисел от 1 до N'); //Сколько раз выполняется этот оператор?
{Один раз}
For i:=1 to N do //Сколько раз выполнится цикл?
{N раз}
Begin //Зачем снова писать операторные скобки?
{Затем, что это цикл, который всегда обособляется и отделяет от остальных операторов}
m:=i*I;
Writeln(I,' ',m); //Как по-другому оставить пробелы между столбиками?
{Можно сделать так - Writeln(I:3,m:16);}
End;
End.