Доброго дня!
Прохожу обучение на stepik.org, а если быть точнее, то по заданию пишу простой калькулятор
Проблема в том, что при операции деления выдает неверный результат.
Очевидно, что 5 / 10 = 0.5
Но у меня почему то выходит 5.0
Если же я убираю середину кода с операциями * % **, то операция '/' деления выполняется корректно
Прохожу обучение на stepik.org, а если быть точнее, то по заданию пишу простой калькулятор
Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам ("первое число" "операция" "второе число") и выводит результат на экран.
Поддерживаемые операции: +, -, /, *, mod, pow, div, где
mod — это взятие остатка от деления,
pow — возведение в степень,
div — целочисленное деление.
Если выполняется деление и второе число равно 0, необходимо выводить строку "Деление на 0!".
Обратите внимание, что на вход программе приходят вещественные числа.
Поддерживаемые операции: +, -, /, *, mod, pow, div, где
mod — это взятие остатка от деления,
pow — возведение в степень,
div — целочисленное деление.
Если выполняется деление и второе число равно 0, необходимо выводить строку "Деление на 0!".
Обратите внимание, что на вход программе приходят вещественные числа.
Очевидно, что 5 / 10 = 0.5
Но у меня почему то выходит 5.0
Python:
a = float(input())
b = float(input())
c = input()
if c == '+':
print(a + b)
elif c == '-':
print(a - b)
elif c == '*':
print(a * b)
elif c == 'mod' or '%':
if b != 0:
print(a % b)
else:
print('Деление на 0!')
elif c == 'pow' or '**':
print(a ** b)
elif c == 'div' or '/':
if b != 0:
print(a / b)
else:
print('Деление на 0!')
Python:
elif c == '-':
print(a - b)
elif c == '*':
print(a * b)
elif c == 'mod' or '%':
if b != 0:
print(a % b)
else:
print('Деление на 0!')
elif c == 'pow' or '**':
print(a ** b)