a = input() f = float(a.replace(',','.')) b = float(input()) c = input() if b == 0 and (c == 'div' or 'mod' or '/'): print('Деление на 0!') elif c == '+': print(f + b) elif c == '-': print(f - b) elif c == '*': print(f * b) elif c == '/': print(f / b) elif c == 'mod': print(f % b) elif c == 'div': print(f // b) elif c == 'pow': print(f ** b)
При вводных данных:
5
0
- или +
Выводит “Деление на 0!”
При
if b == 0 and (c == 'div' or 'mod' or '/') and not(c == '-' or '+')
Test input: 5.0 0.0 mod Correct output: Деление на 0! Your code output: Error: Traceback (most recent call last): File "jailed_code", line 16, in <module> print(f % b) ZeroDivisionError: float modulo
Traceback (most recent call last): File "jailed_code", line 18, in <module> print(f // b) ZeroDivisionError: float divmod()
Само задание для написание калькулятора:
Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам (“первое число” “операция” “второе число”) и выводит результат на экран.
Поддерживаемые операции: +, -, /, *, mod, pow, div, где
mod — это взятие остатка от деления,
pow — возведение в степень,
div — целочисленное деление.
Если выполняется деление и второе число равно 0, необходимо выводить строку “Деление на 0!”.
Обратите внимание, что на вход программе приходят вещественные числа.