Python: информирование пользователя об ошибке деления на ноль

Я пишу программу с рядом простых рабочих функций. Имейте в виду, что я довольно новичок в этом. Как видите, если пользователь вводит «0» в качестве одного из значений, появляется очевидная ошибка «Невозможно разделить на ноль». Я хотел бы получить совет о том, как сделать особый случай, который печатает «Невозможно разделить на ноль»), а не показывать сообщение об ошибке.

def AddTwoNumbers(num1,num2):
    totalAdded= num1 + num2
    return totalAdded

def SubTwoNumbers(num1,num2):
    totalSubtract= num1 - num2
    return totalSubtract

def MultiTwoNumbers(num1,num2):
    totalMultiply= num1 * num2
    return totalMultiply

def DivideTwoNumbers(num1,num2):
    totalDivide= num1 / num2
    return totalDivide

firstNum=int(input("Enter first number:"))
secondNum=int(input("Enter second number:"))

addResult=AddTwoNumbers(firstNum, secondNum)
subResult=SubTwoNumbers(firstNum, secondNum)
multiResult=MultiTwoNumbers(firstNum, secondNum)
diviResult=DivideTwoNumbers(firstNum, secondNum)

print(firstNum, "+", secondNum, "=", addResult)
print(firstNum, "-", secondNum, "=", subResult)
print(firstNum, "x", secondNum, "=", multiResult)
print(firstNum, "/", secondNum, "=", diviResult)

person JSeal    schedule 16.11.2015    source источник
comment
используйте python try statements (подсказка: добавьте один из них внутри ваша Divide Two Numbers функция)   -  person R Nar    schedule 16.11.2015
comment
Вы можете использовать оператор if для определения случая 0.   -  person Tofystedeth    schedule 16.11.2015


Ответы (2)


Вы должны использовать try/except:

Итак, для вашего метода здесь:

def DivideTwoNumbers(num1,num2):
    totalDivide= num1 / num2
    return totalDivide

Просто используйте try/except вокруг вашего totalDivide = num1 / num2, чтобы поймать ZeroDivisionError, а затем выполните там любую операцию, которую вы хотите.

Вот пример:

try:
    5/0
except ZeroDivisionError:
    print("You tried dividing by zero")
person idjaw    schedule 16.11.2015

person    schedule
comment
Я пробовал это, однако это вызывает несколько ошибок в программе. Как это будет выглядеть в виде полной программы? - person JSeal; 17.11.2015