【问题标题】:Python: Informing user of divide by zero errorPython:通知用户除以零错误
【发布时间】:2015-11-16 20:49:55
【问题描述】:

我正在编写一个具有许多简单操作功能的程序。请记住,我对此很陌生。如您所见,如果用户键入“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)

【问题讨论】:

  • 使用 python try statements(提示,在你的 Divide Two Numbers 函数中添加其中之一)
  • 您可以使用if statement 来检测 0 的情况。

标签: python function zero divide divide-by-zero


【解决方案1】:

你应该使用try/except:

所以,对于你的方法:

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

简单地说,在你的totalDivide = num1 / num2 周围使用try/except 来捕获ZeroDivisionError,然后在那里执行你想要的任何操作。

这是一个例子:

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

【讨论】:

    【解决方案2】:
    try:
      result=DivideTwoNumbers(a,b)
    except ZeroDivisionError as e:
      print str(e)
    

    if num2 == 0: 
       print "you cant divide by zero dummy"
       return None
    

    【讨论】:

    • 我试过这个,但它会导致程序进一步出现一些错误。它看起来像一个完整的程序吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    相关资源
    最近更新 更多