Как отследить деление на 0 в калькуляторе
Вот мой код:
a = float(input())
b = float(input())
c = input()
if c == "+":
print(a + b)
elif c == "-":
print(a - b)
elif c == "/":
if b == "0":
print("Деление на 0!")
print(a / b)
elif c == "*":
print(a * b)
elif c == "mod":
if b == "0":
print("Деление на 0!")
print(a % b)
elif c == "pow":
print(a ** b)
elif c == "div":
if b == "0":
print("Деление на 0!")
print(a // b)
Я написал что если переменная c равняется нулю то пусть программа выведет мне, и условие в условии, но если b равняется 0 то выведи Деление на нол!, но не работает это, как это исправить?
Ответы (1 шт):
Автор решения: C9F
→ Ссылка
Проблема в том, что после того, как вы прописали
printс предупреждением, вы не задали никаких последующих действий, т.е. программа всё равно делит на 0.в
ifвы задали 0 типstring, хотя должен бытьfloat. Уберите кавычки !elif c == "/": if b == 0: print("Деление на 0!") else: print(a / b)
a = float(input("Введите первое число: "))
b = float(input("Введите второе число: "))
c = input("Введите действе: ")
if c == "+":
print(a + b)
elif c == "-":
print(a - b)
elif c == "/":
if b == 0: # +++ вместо `if b == "0"`:
print("Деление на 0!")
else:
print(a / b)
elif c == "*":
print(a * b)
elif c == "mod":
if b == 0: # +++ вместо `if b == "0"`:
print("Деление на 0!")
else: # +++
print(a % b) # ---->
elif c == "pow":
print(a ** b)
elif c == "div":
if b == 0:
print("Деление на 0!") # +++ вместо `if b == "0"`:
else: # +++
print(a // b) # ---->