Задать вопрос
@vchelina

В чем ошибка моего решения?

Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам ("первое число" "операция" "второе число") и выводит результат на экран.

Поддерживаемые операции: +, -, /, *, mod, pow, div, где
mod — это взятие остатка от деления,
pow — возведение в степень,
div — целочисленное деление.

Если выполняется деление и второе число равно 0, необходимо выводить строку "Деление на 0!".

Обратите внимание, что на вход программе приходят вещественные числа.

Sample Input 1:

5.0
0.0
mod
Sample Output 1:

Деление на 0!
Sample Input 2:

-12.0
-8.0
*
Sample Output 2:

96.0
Sample Input 3:

5.0
10.0
/
Sample Output 3:

0.5

Мое решение:
x = float(input())
y = float(input())
z = input()
if z == '+':
    print(x + y)
    
elif z == '-':
    print(x - y)
    
elif z == '*':
    print(x * y)
    
elif z == '/' and y != 0.0:
    print(x / y)
elif z == '/' and y == 0.0:
    print('Деление на 0!')
    
elif z == 'mod' and y != 0.0:
    print(x // y)
elif z == 'mod' and y == 0.0:
    print('Деление на 0!')

elif z == 'div'and y != 0.0:
    print(x % y)
elif z == 'div' and y == 0.0:
    print('Деление на 0!')

elif z == 'pow'and x != 0.0:
    print(x ** y)
elif z == 'pow' and x == 0.0 and y < 0.0:
    print('Деление на 0!')
elif z == 'pow' and x == 0.0 and y >= 0.0:
    print(x ** y)
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой Комментировать
Ответ пользователя Elvis К ответам на вопрос (3)
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
Вам нужно использовать конструкцию try...except и ловить деление на 0 ошибкой ZeroDivisionError
Ответ написан
Комментировать